网站制作的重要流程图,有人用我的企业做网站,银川市住房建设局网站,现在什么网站比较火做推广一.母板渲染语法 1.变量 {{ 变量 }} 2.逻辑 {% 逻辑语 %} 二.变量 在母板中有变量时,母板引擎会去反向解析找到这个传来的变量,然后替换掉. .(点),在母板中是深度查询据点符,它的查询顺序: 字典 属性或方法 数字索引 三.过滤器 1.语法 {{ value|filter_name:参数}} 2…一.母板渲染语法 1.变量 {{ 变量 }} 2.逻辑 {% 逻辑语 %} 二.变量 在母板中有变量时,母板引擎会去反向解析找到这个传来的变量,然后替换掉. .(点),在母板中是深度查询据点符,它的查询顺序: 字典 属性或方法 数字索引 三.过滤器 1.语法 {{ value|filter_name:参数}} 2.常用内置过滤器 {{ value|default:nothing}} 如果变量为空就是用默认值 {{ value|length }} 返回长度,用于字符串和列表 {{ value|filesizeformat}} 将变量格式化为文件大小格式 {{ value|slice:::-1}} 切片 {{ value|date:Y-m-d H:i:s}} 格式化时间 {{ value|safe}} 设置为安全值,不会误判为xss攻击 {{ value|truncatechars:6}} 以数量(包含三个点)截断字符串,剩余部分显示... {{ value|truncatewords:6}} 以单词数量截断字符串,用空格来识别单词 {{ value|cut: }} 移除value中的字符 {{ value|join:_}} 用字符串连接列表 四.逻辑标签 1.for循环 {% for i in lst %} {{ forloop.counter }}{{ i }} {% endfor %} forloop.counter 从1开始的索引值 forloop.counter0 从0开始的索引值 forloop.revcounter 倒叙到1 forloop.revcounter0 倒叙到0 forloop.first 判断当前循环是不是第一个,返回bool forloop.last 判断当前循环是不是最后一个,返回bool forloop.parentloop 获取本层循环的父级循环对象,能用以上方法 2.for...empty {% for i in lst %} {{ i }} {% empty %} 这个列表lst是空的,不是遍历到i的值是空的 {% endfor %} 3.if条件判断,基本支持python中的判断,但是不支持连续判断 {% if 条件 %} 结果 {% elif 条件 %} 结果 {% else %} 结果 {% endif %} 4.with 别名 {% with a 复杂变量 %} / {% with 复杂变量 as a%} {{ a }} 只能在with语句中使用 {% endwith %} 5.csrf_token 跨站请求伪造保护 {% csrf_token %} 防止post请求登陆时恶意攻击 五.继承 1.母板 {% block 变量名 %} 母板预留位置 {% endblock %} 2.继承板 {% extends 母板.html %} {% block 变量名 %} 替换内容 {% endblock %} 3. 组件 {% include 文件名.html %} 六. 自定义标签和过滤器 1. 在settings中配置app 2. 在app中创建templatetags的python包(固定) 3.在templatetags中创建py文件,自定义过滤器和标签 from django import template
from django.utils.safestring import mark_safe
register template.Library()register.filter # 自定义过滤器,只能两个参数,可以if for
def f1(x,y):return x*Yregister.simple_tags #自定义标签,能接收多个参数
def f2():return 1 自定义标签和过滤器 4. 使用自定义标签和过滤器的时候需要导入py文件 {% load py文件 %} 5. 自定义标签和过滤器的使用 {{ num|filter:y }} num是第一个参数,y是第二个参数,filter是函数名 {% simple_tags 参数1 参数2 ...%} simple_tags是函数名,参数用空格隔开转载于:https://www.cnblogs.com/q767498226/p/10434622.html