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

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

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' %}">

{{ 变量 }}

{% 标签 %}

猜你喜欢

转载自www.cnblogs.com/zhuangxiulin/p/10850767.html