模板变量,过滤器和静态文件引用

一、模板变量

语法:{{  变量名  }} 由字母、数字以及下划线组成,不能以下划线开头,不能有空格和标点符号

例:在app (teacher文件夹)下的views.py文件中定义一个函数,用render里的参数context,context是以键值对形式

def index(request):

  lt = [1,2,3]

  dt = {‘name‘:‘shen‘ , ‘age‘:18}

  return render(request, ‘teacher/index.html‘, context = {‘ lt ‘: lt, ‘ dt ‘:dt}

然后在index.html文件中调用

例:<p>我是列表lt:{{ lt }}</P>

  <P>我是字典dt:{{ dt }}</p>

  <p>如果显示字典中name的值:{{ dt.name }} </p>

  <p>如果显示列表的一个元素:{{ lt.1 }} </p>

变量解析规则:

1、当模板引擎遇到了变量时,他会计算该变量,并将其替换为结果

2、当模板引擎在变量中遇到点(.)时,他会按照以下顺序值查找:A、字典键值查找;B、属性或方法查找;C、数字索引查找

例:dt = {‘items‘:[‘ball‘,‘game‘], ‘name‘: ‘shen‘, ‘age‘: 18}

  {{ dt.items}}

结果为找到 [‘ball‘,‘game‘]

3、如果结果是一个可调用的(callabled),则调用他,结果为模板变量的值

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

二、过滤器

语法:{{ 变量名 | 过滤器名:参数 }}

1、作用:对变量进行过滤,在真正渲染出来之前,过滤器会根据功能处理好变量,然后得出结果后再替换掉原来的变量展示出来

语法:{{ fruits | lower}}

例:<p>列表lt的第一个元素:{{ lt | first }}</p>

2、管理符号进行链式调用,比如实现一个功能,先把所有字符变成小写,在把第一个字符转换成大写

语法:{{ fruits | lower | capfirst }}

例:<p> {{ dt.name | lower | capfirst }}

3、使用参数:过滤器可以使用参数,在过滤器名称后面使用冒号“:”再加上参数,比如要把一个字符串中所有的空格去掉,则可以使用cut过滤器

语法:{{ fruits | cut :" " }}

例:<p>列表lt下标为1的元素加2:{{ lt.1 | add: 2 }}

例:<p>列表lt 的切片:{{ lt | slice : " :2" }}

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

三、引入静态文件

# 在根目录下新建static文件夹,再在static文件夹下新建app文件夹,再在下面新建css,js,img文件夹,便于存放对应的文件,便于管理

# 路径设置:在settings.py文件中最下面加一条 STATICFILES_DIRS = [os.path.join(BASE_DIR,‘static‘]

# 要保证 django.contrib.staticfiles 这个app被包含在INSTALLED_APPS里已注册

# 静态文件引用

1、要写在html文件模板最头上{ % load static %}

2、然后在文件里写入{ % static ‘ 路径/文件名‘ %}

例:引入图片文件   <img src = "{ % static ‘teacher/img/spring.jpg‘ %}">

例:引用js文件  <script  src = "{% static ‘teacher/js/demo.js‘ %}"> </script>

例:引用css文件 <Link rel = "stylesheet" href ="{% static ‘teacher/css/index.css‘ %}">

原文地址:https://www.cnblogs.com/nickshen/p/10593416.html

时间: 2024-10-29 12:25:30

模板变量,过滤器和静态文件引用的相关文章

Django模板之模板变量过滤器

在Django的模板语言中,通过使用 过滤器 来改变变量的显示:Django的模板语言中提供了大约六十个内置过滤器. 过滤器规则: ·         过滤器的语法: {{ value|filter_name:参数 }} ·         使用管道符"|"来应用过滤器. 注意事项: a.    过滤器支持“链式”操作.即一个过滤器的输出作为另一个过滤器的输入. b.    过滤器可以接受参数,例如:{{ sss|truncatewords:30 }},这将显示sss的前30个词. c

Django--static静态文件引用

需求 引用静态文件的目录不写死 速查 settings.py TEMPLATES--context_processors列表中加入: 1 "django.core.context_processors.static", html引用 1 <script src="{{ STATIC_URL }}js/jquery-2.1.4.min.js"></script> 知识点 Django框架有自己设定的context值,并把他传入模板中进行渲染.?

Gulp 给所有静态文件引用加版本号

在juqery和easyui 盛行的年代许多项目采用纯静态页面去构建前端框架从而实现前后端分离的目的.项目开发周期内往往会频繁修改更新某个文件,当你将文件更新到服务器后客户端由于缓存问题而出现显示异常的情况,这时候你会经常让客户清楚缓存,然后开始了漫长的教学过程,,, 我们也会尝试在静态资源后面加上 "index.html?v=" new Date().getTime(); 来解决这个问题,效果也颇为良好,但当项目为已有项目时会是个相当头疼的问题,这个时候我们就会希望有一个全局构建工具

Django——模板路径 模板变量 常用过滤器 静态文件的使用

Django 模板路径 模板变量 过滤器 静态文件的加载 模板的路径,有两种方法来使用 设置一个总的templates在大项目外面,然后在sittings的TEMPLATES中声明 在每一个APP中创建templates,然后在settings的INSTALLED_APPS中声明 模板变量的使用 语法:   {{ 变量名 }} 命名由字母和数字以及下划线组成,不能有空格和标点符号 可以使用字典.模型.方法.函数.列表 不要和python或django关键字重名 变量和查找 注:1.如果data是

三、模板变量及模板过滤器

三.模板变量及模板过滤器 1.模板路径总结 1.1新建一个新的app python manage.py startapp student 1.2 配置app下的templates文件夹 INSTALLED_APPS = [   'django.contrib.admin',   'django.contrib.auth',   'django.contrib.contenttypes',   'django.contrib.sessions',   'django.contrib.message

Django——静态文件(如bootstrap)的配置

静态文件如CSS, javascript(如bootstrap), 图片等文件在django中的配置官方文档写的比较模糊,自己通过实验验证后并整理如下,以防遗忘,目前只整理了关于本地开发中的设置方式,实际发布的配置方式稍后整理. ——————————————————————经测试使用第一种方法————————————————————————————————— [第一部分:配置] 步骤一:配置STATICFILES_DIRS 两种情况: 1. 默认情况,静态文件放在app目录下的static目录中

Flask 学习(四)静态文件

Flask 学习(四)静态文件 动态 web 应用也需要静态文件,一般是 CSS 和 JavaScript 文件.理想情况下你的服务器已经配置好提供静态文件的服务. 在开发过程中, Flask 也能做好这个工作. 静态文件引用 我们先来看下普通的 html 引用静态文件,如 css(js也同样,就不多加示例了),以下为一简单实例,直接打开html: flask 处理 —— static 若直接将该html 当成 flask 模板,相对路径自然就失效了,静态文件将不会被成功读取. 那在flask中

第三百八十三节,Django+Xadmin打造上线标准的在线教育平台—路由映射与静态文件配置

第三百八十四节,Django+Xadmin打造上线标准的在线教育平台-路由映射与静态文件配置以及会员注册 基于类的路由映射 from django.conf.urls import url, include # 导入django自在的include逻辑 from django.contrib import admin from django.views.generic import TemplateView # 导入django自带的TemplateView逻辑 import xadmin #

Discuz!NT静态文件缓存(SQUID)

在目前最新版本的产品中,我们提供了缓存静态文件的解决方案,就是使用SQUID做静态前端,将论坛中的大部分静态文件布署或外链到一个新的HTTP链接上,其中可以外链的静态文件包括: 1.Discuz.web/Javascript/ 下所有以‘template_’打头的JS文件以及该文件夹下的部分js文件.     2.模版文件夹下的所有CSS或IMAGE文件(空间相册文件夹除外)     3.前台Image文件夹下的Medal(勋章),Topicidentify(主题鉴定图标)下的所有文件. 同时在