本文实例讲述了Django框架基础模板标签与滤波器使用方法。分享给大家供大家参考,具体如下:
<强> 1,变量强>
<代码>{{}}代码>
1.1,进入Django壳环境
python管理。py壳 >之前1.2,上下文,模板模块的基本使用
django。模板导入上下文,模板 t=模板(“我的名字id{{名称}}”) c=上下文({“名称”:“史蒂芬”}) t.render (c) >之前1.3,观点。py文件
def指数(请求): 列表=['小明”、“小花”,“小包”) dict={“年龄”:14日“用户”:“小高'} 返回渲染(请求、“index . html”{“列表”:列表,“东西”:dict}) >之前1.4,指数。html文件
& lt; div> & lt; !——获得列表第一个名字:“小明”——比; {{列表。0}} & lt; !项,获得字典中的年龄——比; {{dict.age}} & lt; !——过滤争吵的使用——比; {{dict.age |过滤条件}} & lt;/div> >之前<强> 2,逻辑语法强>
<代码> {%,%}代码>
2.1,循环与判断
{% for ,……,拷贝;……,%}
{% endfor %}
{% if %}
{%其他%}
{% endif %}
{% url '网页路径”%}指定路径
& lt; form>
{% csrf_token %}去除跨域csrf验证
& lt;/form>
{%负荷标签库%}加载任意标签库
引用><强> 3模板中的逻辑操作:强>
3.1、==?=⒆4?& lt;祝辞,=& lt;,这些比较都可以在模板中使用(注意:比较符号前后必须有至少一个空格!)
{%如果var祝辞=90%} 成绩优秀,学得不错 {% elif var祝辞=80%} 成绩良好 {% elif var祝辞=70%} 成绩一般 {% elif var祝辞=60%} 需要努力 {%其他%} 不及格啊,大哥! {% endif %} >之前3.2,和,或者,不,不是的,是,不是也可以在模板中使用
{%如果num & lt;=100和num祝辞=0%} num在0到100之间 {%其他%} 数值不在范围之内! {% endif %} >之前<强> 4,注释强>
{#值#} >之前
<强> 1,过滤器内置语法强>
基本语法:{{值| filter_name:参数}}的值:变量名;filter_name: Django内置或者自定义过滤方法;参数:处理的值
3.1,{{|默认值:参数}}如果价值没有传值,替换默认设置的参数。
3.2,{{值| default_if_none:参数}}如果为没有价值,替换默认设置的参数。
3.2,{{长度值|}}显示值的长度
3.3,{{值| filesizeformat}}将价值格式化一个可以识别的大小(例子:1.5 k, 5米等)
3.4,{{值|片:2:1“}}对值进行切片(支持负数)
3.5,{{值|日期:“Y: m: d H:我:“}}格式话时间
3.6,{{值|安全}},直接解析为可执行html的代码
3.7,{{值| truncatechars: 30}}对值进行截取,只显示30个字符,用“…”代替多余的部分
3.8,{{|添加值:10}}做加法运算
3.9,{{值| capfirst}}首字母大写
3.9,{{值|削减:a}}从字符串中移除指定的字符
引用><强> 2,自定义过滤器强>
2.1,在应用项目中新建templatetags模块,在py文件中编写自定义模块
#自定义滤波器的基本语法 Django模板导入形式#引用Django中的模块 注册=template.Library() #实例化一个模板对象 #将自定义的过滤器注册到程序中 @register.filter “‘ @register。过滤器(name=' fleter_name)这个装饰器把自定义的过滤器注册到程序中, 让其可以使用自定义的过滤方法;reg是‘|’前面的变量reg2是方法后面的参数。 “‘ @register。过滤器(name='添加') def添加(注册): 返回“{}”.format(注册) @register。过滤器(name=' add_str ') def add_str (reg, reg2): 返回“{}{}”.format (reg reg2) >之前2.2, html文件的使用方法
Django框架基础模板标签与滤波器使用方法详解