1、模板层-变量

1.1、模板的变量

视图函数中可以将Python变量封装到字典中,传递到模板上
样例:

  1. from django.shortcuts import render, HttpResponse
  2. import json
  3. # Create your views here.
  4. # 新增的视图函数
  5. def index(request):
  6. data = {"blog_title":"我的博客"} # 将变量封装到字典中
  7. return render(request, "index.html",data) # data传递到模板

1.2、变量类型和变量调用

变量调用 - “点大法”

能传递到模板中的数据类型 模板中使用变量的语法
str - 字符串 {{ 变量名 }}
int - 整型 {{ 变量名 }}
list - 数组 {{ 变量名.index }}
tuple - 元组 {{ 变量名.index }}
dict - 字典 {{ 变量名.key }}
func - 方法 {{ 函数名 }}
obj - 类实例化的对象 {{ 对象.方法 }}

2、模板层-标签

作用:将一些服务端的功能嵌入到模板中,例如流程控制等

标签语法:

  1. {% 标签 %}
  2. ...
  3. {% 结束标签 %}

if标签

语法:

  1. {% if 条件表达式1 %}
  2. ...
  3. {% elif 条件表达式2 %}
  4. ...
  5. {% elif 条件表达式3 %}
  6. ...
  7. {% else %}
  8. ...
  9. {% endif %}

注意:

  • if条件表达式里可以用的运算符 | 比较(关系)运算符 | == != < > <= >= | | —- | —- | | 成员运算符 | in、not in | | 身份运算符 | is、is not | | 逻辑运算符 | and、or、not |

  • 在if标记中使用实际括号是无效的语法。如果您需要它们指示优先级,则应该使用嵌套的if标记

for标签

语法:

  1. {% for 变量 in 可迭代对象 %}
  2. ... 循环语句
  3. {% empty %}
  4. ... 可迭代对象无数据时填充的语句
  5. {% endfor %}