Django之模板语言(二)-----Filter

1.其他常用的模板语言:

    通过模板语言可以让前端页面显示数据,数据可以是基本数据类型,也可以是对象亦或者对象的列表,结合着模板中的for、if等配合使用。

    要注意前端页面中,出现没有后端数据的情况,随便写了一个变量,结果在前端页面中不会显示。

    怎么让这个随便的变量不随便捏,可以使用defalut默认显示。

    如何在模板语言中显示文件的大小?

    如何在模板语言中格式化的显示时间?

    如何在模板中安全的显示后台传过来的html代码?

    如何对于模板语言中不存在的变量可以默认显示?

    如何进行切片操作?slice

    .......

案例:

后端代码:

# Django 模板语言测试代码
def template_test(request):
file_size = 147852963
from datetime import datetime
now = datetime.now()
a_html = "<a href='http://www.baidu.com'>我是后端传过来的a标签</a>"
script_html = "<script>for(var i=0;i<100;i++){alert(123);}</script>" p_str ="在苍茫的大海上,狂风卷积着乌云,在乌云和大海之间,海燕像黑色的闪电,在高傲的飞翔"
name = "小黑" return render(
request,
't_test.html',
{
       "name":name,
"file_size":file_size,
"now":now,
"a_html":a_html,
"script_html":script_html, # 在前端加了safe过滤后会执行代码
"p_str":p_str } )

前端代码:

<p>显示字符串长度:{{ name|length }}</p>
<p>显示文件的大小:{{ file_size }}</p>
<p>默认格式显示当前时间:{{ now }}</p>
<p>按照习惯显示当前时间:{{ now | date:"Y-m-d H:i:s"}}</p>
<p>传入html不显示:{{ a_html }}</p>
<p>显示html:{{ a_html|safe }}</p>
<p>传入script不显示:{{ script_html|safe }}</p>
<p>传入script显示:{{ script_html|safe }}</p>
<p>大段的文本:{{ p_str }}</p>
<p>大段的文本怎么就显示一截:{{ p_str|truncatechars:10 }}</p>

  

结果:

Django之模板语言(二)-----Filter

上一篇:Beta版冲刺前准备


下一篇:Django自定义模板