模板变量及模板过滤器

Posted zhuangxiulin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模板变量及模板过滤器相关的知识,希望对你有一定的参考价值。

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

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.messages‘,
  ‘django.contrib.staticfiles‘,
  ‘student‘,
]
1.3 templates的选择

a. templates放置在根目录时:settings TEMPLATES里的DIRS的路径

b.settings TEMPLATES里的‘APP_DIRS‘: True,才会去app目录下找。

c.templates放置在app目录下:settings INSTALLED_APPS里添加

一般选择根目录下创建,如果我们要编写可以重复使用的app时,选择将模板放置在APP目录下
2.模板变量
2.1静态页面和动态页面

判断标准:是否有交互

2.2 模板变量语法
{{ 变量名 }}
TIME_ZONE = ‘Asia/Shanghai‘
<p>当前时间:{{ now }}</p>
  <p>列表:{{ L }}</p>
  <p>列表的第一个值:{{ L.0 }}</p>
  <p>字典:{{ D }}</p>
  <p>取字典中key为name的值:{{ D.name }}</p>
  <p>取字典中items:{{ D.items }}</p>
  <p>函数返回值:{{ func }}</p>
3.常用过滤器:

https://docs.djangoproject.com/en/2.1/ref/templates/builtins/#date

可以利用过滤器直接对模板变量进行再次的处理

注意

语法:{{ 变量名|过滤器[:字符串参数] }}
?
1.变量名的命名规则
2.冒号:前后不能空格
3.可以链式调用eg:<p>列表的第一个值:{{ L|first|add:‘2‘ }}</p>
4.字符串参数可以通过模板变量传入
补充:xss(跨域脚本攻击)
<p>{{ html|safe }}</p>
4.静态文件的引用(css, js, img)
一般项目根目录,也可以放在app目录
4.1路径设置
# 项目根目录时
STATIC_URL = ‘/static/‘
STATICFILES_DIRS = [os.path.join(BASE_DIR, ‘static‘)]
{% load static %}
。。。。
<link rel="stylesheet" href="{% static ‘teacher/css/index.css‘ %}">

{{ 变量 }}

{% 标签 %}

以上是关于模板变量及模板过滤器的主要内容,如果未能解决你的问题,请参考以下文章

模板变量及模板过滤器

Django模板过滤器 - 一行

1103.模版变量及模版过滤器

django第三课 模板变量及过滤器

Django模板层 (变量分配 过滤器 标签 继承和导入 自定义过滤器标签及inclusion_tag(了解))

如何在Django模板中添加,乘以数字变量?