首页 > 编程语言 > 详细

Python笔记17(Django之模板语言)

时间:2018-08-20 20:31:56      阅读:156      评论:0      收藏:0      [点我收藏+]

一、常用语法

Django模板语言的语法主要分为2种: {{变量}}    和   {%  Tag %} ,{{变量 }}主要用于和视图变量做替换,变量相关的用{{}},逻辑相关的用{%%}。

1、变量相关

  1. 两个语法:
    1. {{ }}    --> 跟变量相关的操作
    2. {% %}    --> 跟逻辑相关的操作
  2. 变量相关
    1. 传字典或对象类型的数据     obj.name/obj.age
    2. 传数组类型的数据           obj.索引值
  3. 日期格式化
    <p>{{ today|date:"Y-m-d H:i:s"}}</p>
  4. 显示真正的html代码
    <p>{{ link|safe }}</p>
  5.  XXS攻击 <script>for(;;){alert(123}</script>

备注:模板语言调用方法的时候不需要加括号。

示例:

# views.py中的代码
def template_test(request):
    l = [11, 22, 33]
    d = {"name": "alex"}

    class Person(object):
        def __init__(self, name, age):
            self.name = name
            self.age = age

        def dream(self):
            return "{} is dream...".format(self.name)

    Alex = Person(name="Alex", age=34)
    Egon = Person(name="Egon", age=9000)
    Eva_J = Person(name="Eva_J", age=18)

    person_list = [Alex, Egon, Eva_J]
    return render(request, "template_test.html", {"l": l, "d": d, "person_list": person_list})

#模板语言中的写法
{# 取l中的第一个参数 #}
{{ l.0 }}
{# 取字典中key的值 #}
{{ d.name }}
{# 取对象的name属性 #}
{{ person_list.0.name }}
{# .操作只能调用不带参数的方法 #}
{{ person_list.0.dream }}

2、Filters

语法: {{ value|filter_name:参数 }}

1)default

{#如果value值没传的话就显示nothing#}
{{ value|default: "nothing"}}

2)length

{{ value|length }}
{#‘|‘左右没有空格没有空格没有空格#}
{#返回value的长度,如 value=[‘a‘, ‘b‘, ‘c‘, ‘d‘]的话,就显示4.#}

3)filesizeformat

将值格式化为一个 “人类可读的” 文件尺寸 (例如 ‘13 KB‘‘4.1 MB‘‘102 bytes‘, 等等)。例如:

{#如果 value 是 123456789,输出将会是 117.7 MB。#}
{{ value|filesizeformat }}

4)slice

{#切片#}
{{value|slice:"2:-1"}}

5)date

{#格式化#}
{{ value|date:"Y-m-d H:i:s"}}

 

Python笔记17(Django之模板语言)

原文:https://www.cnblogs.com/xingye-mdd/p/9507854.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!