Django之模板语言-----Filter

Posted cwj2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章

python—day58 Django介绍 之模板补充路由

Django之ORM使用以及模板语言

Django模板之模板变量过滤器

Python - Django - 模板语言之自定义过滤器

Django(模板语言-自定义filter和simple_tag)

Django(模板语言-自定义filter和simple_tag)