1、模板层-变量
1.1、模板的变量
视图函数中可以将Python变量封装到字典中,传递到模板上
样例:
from django.shortcuts import render, HttpResponseimport json# Create your views here.# 新增的视图函数def index(request):data = {"blog_title":"我的博客"} # 将变量封装到字典中return render(request, "index.html",data) # data传递到模板
1.2、变量类型和变量调用
变量调用 - “点大法”
| 能传递到模板中的数据类型 | 模板中使用变量的语法 |
|---|---|
| str - 字符串 | {{ 变量名 }} |
| int - 整型 | {{ 变量名 }} |
| list - 数组 | {{ 变量名.index }} |
| tuple - 元组 | {{ 变量名.index }} |
| dict - 字典 | {{ 变量名.key }} |
| func - 方法 | {{ 函数名 }} |
| obj - 类实例化的对象 | {{ 对象.方法 }} |
2、模板层-标签
标签语法:
{% 标签 %}...{% 结束标签 %}
if标签
语法:
{% if 条件表达式1 %}...{% elif 条件表达式2 %}...{% elif 条件表达式3 %}...{% else %}...{% endif %}
注意:
if条件表达式里可以用的运算符 | 比较(关系)运算符 | == != < > <= >= | | —- | —- | | 成员运算符 | in、not in | | 身份运算符 | is、is not | | 逻辑运算符 | and、or、not |
在if标记中使用实际括号是无效的语法。如果您需要它们指示优先级,则应该使用嵌套的if标记
for标签
语法:
{% for 变量 in 可迭代对象 %}... 循环语句{% empty %}... 可迭代对象无数据时填充的语句{% endfor %}
