template
Posted tcpblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了template相关的知识,希望对你有一定的参考价值。
今日内容: 一: 模式: MVC: model(模型:存取数据) + view(视图: 信息展示) + controller(逻辑控制) // MTV :借鉴MVC: model(模型: 存取数据) + templates(模板: 展示信息) + views(业务逻辑) 二: 模板的基本用法 1, {{变量}} >>> 获取变量的属性,方法 2,{% for/if/ %} 3, 过滤器 {{ value|filter_name:参数 }} 内置: default 提供默认值 {{kong|default:‘nothing‘}} date日期格式化 {{now|date:‘Y-m-d H:i:s’}} settings设置全局日期格式化 USE_L10N = False DATATIME_FORMAT = Y-m-d H:i:s’ safe: 不进行转义:告诉django内容安全, 原样放上去, 不进行字符串化 自定义: filter 1. 在APP下创建一个叫templatetags的python包, 不能变, 必须是包,名字也不能变 2. 在包中创建一个py文件,for E: myfilters 3. py文件中写代码 导入模板: from django import template register = template.Library() # 变量名固定写法 写函数@register.filter # 必须加这个装饰器 def add_dsb(value, arg): # 只能最多传一个参数 return ‘{}-{}‘.format(value, arg) 模板中导入文件, {% load my_filter %} 使用: {{ name|add_dsb:‘very_dsb‘ }} 4.标签: for: 循环 forloop.counter: 当前循环的索引值(从1开始) forloop.counter0: 当前循环的索引值(从0开始) forloop.reverconter: 当前循环的倒序索引值(从1开始) forloop.reverconter0: 当前循环的倒序索引值(从1开始) forloop.first: 循环第一次》》布尔值 forloop.last: 循环是不是最后一次: 》》布尔值 forloop.parentloop: 本层本次循环时候外出循环字典属性 {{% csrf_token %} : 在form表达中添加这个可以提交POST请求 simple_tag : 自定义filter 定义: @register.simple_tag(name="plus") def plus(a, b, c): return "{} + {} + {}".format(a, b, c) 使用: {% load app01_demo % } # 导入 {# simple tage #}>>> { % plus ‘1‘ ‘2‘ ‘3‘ % } 5. 母版 和继承: 一个普通的html文本, 将多个页面公共的内容提取出来, 在页面定义多个block a:注意事项: {% extends ‘base.html’ %} 必须写在第一行, 上面不写内容 b. 要修改的内容写在block标签中, 写在外面不显示 c. {% extends ‘base.html‘ %} ‘文件必须带上引号, 否则可能当作变量‘ d. 定义多个block , 定义CSS JS 两个引入标签 6. 组件: 把多个页面公用的html代码放在一个html文件中 》》》组件 nav.html 使用方法: {% include ‘nav.html‘ %} 7. 静态文件 {% load static %} :导入别名路径 <img src="{% static "images/hi.jpg" %}" alt="Hi!" /> {% static ‘静态文件相对路径‘ %} ——》获取到别名, 后面紧跟参数进行拼接 {% get_static_prefix %}plugins/bootstrap/css/bootstrap.css # 获取别名 8 . 自定义inclusion_tag: 可以传递多个参数
以上是关于template的主要内容,如果未能解决你的问题,请参考以下文章
Xcode中的变量模板(variable template)的用法