模板语法本质上就是在HTML中写一些占位符,由数据对这些占位符进行替换或处理。
演示-传入字符串
先还是在urls.py中加一个路由:
再到views.py中添加具体的方法,并将字符串添加给render方法:
之后将render中传入的数据通过占位符使用到html文件中:
演示-传入列表
当传入列表时,传入方式其实是一样的,在views.py中这样写:
具体在html中的使用:
上面{{r1.1}}相当于代码中的roles[1]。
运行后的效果:
如果要在html中遍历列表,可以这样写:
运行效果:
演示-传入字典
当传入字典时,传入方式一样,在views.py中这样写:
在html中的使用:
运行效果:
如果想要直接遍历传入的字典,可以这样写:
运行后的效果:
这里顺便提一下模板中if的使用,例如这样,用来判断某个值是否为设定值:
总结
实际生产中数据经常互相嵌套,但是本质上还是一样的,一层层取就行。对于Django使用者来说,没必要在模板语法上投入太大精力,会有前端工程师来做这些工作的。