在模板中,如果想要使用后端传入的数据,就要用到模板语法去实现。
Django提供的模板语法:变量的使用、控制语句、循环
变量的使用
Django模板html文件中使用变量语法:{{ }}
-
创建一个tpltest.html文件
-
在urls.py里输入路由:
-path(‘tpltest/’,views.tpltest), -
在views.py中编辑:
from django.shortcuts import render def tpltest(request): name = 'zhangsan' age = 19 hobby = ['eat','sing','pingpang','football'] score = {'shuxue':89,'yingyu':90,'yuwen':100} returnrender(request,'tpltest.html'{'name':name,'age':age,'hobby':hobby,'score':score})
-
在tpltest.html中编辑:
运行:
##使用locals()方法,作用是将当前视图函数的所有局部变量返回
效果一样
控制语句
if else elif
模板中使用控制语句,语法结构
{% if 条件 %}
{% elif 条件 %}
{% else %}
{% endif %}
-
在urls.py中:
re_path(‘tpltest/(\d+)’,views.tpltest),
-
在tpltest.html中:
-
在views.py中:
-
运行:
循环语句
1.字典遍历
在html中:
结果:
2.遍历字典
在html中:
结果:
3.forloop
forloop是一个django自带的一个变量,作用于循环,记录循环的次数,可以对循环的内容进行控制,判断,通常和if连用
html:
forloop.counter 总是一个表示当前循环的执行次数的整数计数器。 这个计数器是从1开始的,所以在第一次循环时 forloop.counter 将会被设置为1
结果:
4.过滤器
对视图传过来的数据进行二次处理
语法结构:{{ age | add:10 }}
safe:django出于安全考虑,会将前面注入的js或者html语句转义,使用safe将指定的js或者html变为安全的语句,正常执行。
views.py中:
tpltest.html中:
结果:
点击确定后: