1、模板层-变量
1.1、模板的变量
视图函数中可以将Python变量封装到字典中,传递到模板上
样例:
from django.shortcuts import render, HttpResponse
import 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 %}