Django

您所在的位置:网站首页 django语法 Django

Django

2023-07-31 20:11| 来源: 网络整理| 查看: 265

1. 模板变量

变量名必须由字母、数字、下划线(不能以下划线开头)和点组成,语法如下:

{{ 变量 }}

模板变量可以使python的内建类型,也可以是对象。

def index(request): context = { 'name': 'django', 'my_list': ['python', 'java', 'php', 'c/c++'], 'my_dict': { 'name': 'python', 'age': 20, 'gender': '男', } } return render(request, 'index.html', context) Title {{ name }} {{ my_list }} {{ my_list.0 }} {{ my_dict }} {{ my_dict.name }} 2. 模板语句

1)for循环:

{% for item in 列表 %} {{forloop.counter}} {{forloop.counter0}} {% empty %} 列表为空或不存在时执行此逻辑 {% endfor %}

2)if条件:

{% if ... %} 逻辑1 {% elif ... %} 逻辑2 {% else %} 逻辑3 {% endif %}

比较运算符如下:

== != < > =

布尔运算符如下:

and or not

注意:运算符左右两侧必须有空格。

{% if a == 1 %} # 正确 {% if a==1 %} # 错误 with

使用一个简单地名字缓存一个复杂的变量,当你需要使用一个“昂贵的”方法(比如访问数据库)很多次的时候是非常有用的

例如:

{% with total=business.employees.count %} {{ total }} employee{{ total|pluralize }} {% endwith %}   3. 过滤器

语法如下:

使用管道符号|来应用过滤器,用于进行计算、转换操作,可以使用在变量、标签中。

如果过滤器需要参数,则使用冒号:传递参数。

变量|过滤器:参数

列举几个如下:

safe,禁用html转义(显示html标签样式,而不是字符串)length,长度,返回字符串包含字符的个数,或列表、元组、字典的元素个数。

default,默认值,如果变量不存在时则返回默认值。

data|default:'默认值'

date,日期,用于对日期类型的值进行字符串格式化,常用的格式化字符如下:

Y表示年,格式为4位,y表示两位的年。m表示月,格式为01,02,12等。d表示日, 格式为01,02等。j表示日,格式为1,2等。H表示时,24进制,h表示12进制的时。i表示分,为0-59。s表示秒,为0-59。value|date:"Y年m月j日 H时i分s秒" Django模板--->http://python.usyiyi.cn/translate/django_182/ref/templates/builtins.html#ref-templates-builtins-tags 4. 注释

1)单行注释语法如下:

{#...#}

2)多行注释使用comment标签,语法如下:

{% comment %} ... {% endcomment %} 5. 模板继承 模板继承和类的继承含义是一样的可以使用模板继承来复用父模板,提高代码的复用性,减轻开发人员的工作量。可以通过定义 block ,实现子模板对父模块内容的重写

父模板

如果发现在多个模板中某些内容相同,那就可以使用block标签把这段内容定义到父模板中。

{% block 块名称 %} 预留区域,可以编写默认内容,也可以没有默认内容 {% endblock %}

子模板

使用extends标签继承父模板,写在子模板文件的第一行。

{% extends "父模板路径" %}

对有需要的block进行重写:

不用重写父模版中的所有block,如果子模版没有重写,则使用父模版定义的默认值。

可以使用 block.super 来包含父模板的块中定义的内容,如下

{% block 名称 %} 子模板的内容 {{ block.super }} 显示父模板中block的内容 {% endblock %}


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3