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>

  

结果:

原文地址:https://www.cnblogs.com/cwj2019/p/11723831.html

时间: 2024-08-01 21:48:11

Django之模板语言(二)-----Filter的相关文章

Django之模板语言

Django之模板语言 一 模板的执行 模板的创建过程,对于模板,其实就是读取模板(其中嵌套着模板的标签),然后将Model中获取的数据插入到模板中,最后将信息返回给用户 def current_datetime(request): now = datetime.datetime.now() html = "<html><body>It is now %s.</body></html>" % now return HttpResponse

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

filter过滤器的主要形式:变量|函数,意思是将变量交给函数处理,而自定义filter就是自己定义函数,因为用到已有的很少. 1.在当前app中创建templatetags模块(包:带__init__.py)(必须的) 2.在templatetags中创建.py文件,如my_tags.py from django import template #因为要应用到前端模板语言,必须导入template from django.utils.safestring import mark_safe re

Django 之 模板语言

一.views.py 的代码 class Person(object): def __init__(self,name,age): self.name = name self.age = age def test(request): ''' 模板语言学习 :param request: :return: ''' name = "kang" #变量 name_list = ["Mingkang", "BearBear", "BenBen&

py18_06:Django之模板语言

1. 模板变量的命名规则: 同样的是与其他语言一样,使用字母,下划线,数字.区别:其他的不能以数字开头,模板语言是不能以下划线开头 2. 调用变量 {{ }},用双大括号 如果是字段,则用{% %},比如,for循环,if等 模板语言里,还自带有forloop函数,只有我们用循环的时候.这个方法就可以直接调用.因为他是内嵌在模板语言里的.我们可以直接使用 官网地址上,可以了解更多的模板语言的学习. 官网地址:https://docs.djangoproject.com/zh-hans/2.1/

django常用模板语言

一.变量 django模板接收到从后端传来的参数,放入模板中对应的变量中 #django代码 def info(request): .... return render(request,'info.html',{'key1':vul1,'key2':vul2}) #HTML代码<div>{{ key1 }}</div> <div>{{ key2 }}</div> HTML中变量要与django传递的代码key值相同 原文地址:https://www.cnbl

django 模板语言

Django的模板语言的目的是取得力量和易用性之间的平衡,与其他的模板语言相比,django模板语言显得更简单,更专一, django模板系统由模板,变量,过滤器,标签,注释等主要部分组成 模板 一个模板是一个简单的文本文件,它可以生成任何基于文本的格式,html,csv,xml等等 模板里面包含变量,过滤器,标签和注释,下面是一个简单的模板文件 {% extends "base_generic.html" %} {% block title %}{{ section.title }}

Django模板语言相关内容

Django模板系统 官方文档:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#std:templatetag-for 常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} 变量名由字母数字和下划线组成. 点(.)在模板语言中有特殊的含义,用来获取对象的相应属性值. 几个例子: view中代码: def template_test(requ

Django模板语言

常用语法 {{  }}和{% %} 变量相关的用{{}} , 逻辑相关的用{% %} 变量 在Django的模板语言中按此语法使用:{{ 变量名 }}. 当模版引擎遇到一个变量,它将计算这个变量,然后用结果替换掉它本身. 变量 的命名包括任何字母数字以及下划线 ("_")的组合(不提倡数字开头). 变量名称中 不能有空格或标点符号. 点(.)在模板语言中有特殊的含义.当模版系统遇到点("."),它将以这样的顺序 查询: 字典查询(Dictionary lookup)

Django模板语言-Filters(过滤器)

Filters(过滤器) 在Django的模板语言中,通过使用 过滤器 来改变变量的显示. 过滤器的语法: {{ value|filter_name:参数 }} 使用管道符"|"来应用过滤器. 例如:{{ name|lower }}会将name变量应用lower过滤器之后再显示它的值.lower在这里的作用是将文本全都变成小写. 注意事项: 过滤器支持“链式”操作.即一个过滤器的输出作为另一个过滤器的输入. 过滤器可以接受参数,例如:{{ sss|truncatewords:30 }}