模板变量及模板过滤器
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‘ %}">
{{ 变量 }}
以上是关于模板变量及模板过滤器的主要内容,如果未能解决你的问题,请参考以下文章