模板语言
发布时间:2020-12-15 23:03:48 所属栏目:安全 来源:网络整理
导读:一模版的组成 组成:HTML代码+逻辑控制代码 二 逻辑控制代码的组成 1 ?变量(使用双大括号来引用变量): ???? 语法格式:?????? {{var_name}} 可以通过双大括号的方式引用后台的变量 ? ? Template和Context对象在生成模板的时的关系 ? python manange.py s
一模版的组成组成:HTML代码+逻辑控制代码 二 逻辑控制代码的组成1 ?变量(使用双大括号来引用变量):
????
可以通过双大括号的方式引用后台的变量
?
?
Template和Context对象在生成模板的时的关系
?
>>> python manange.py shell (进入该django项目的环境) >>> from django.template import Context,Template >>> t = Template(‘My name is {{ name }}.‘) >>> c = Context({‘name‘: ‘yewenhao‘}) >>> t.render(c) 结果:My name is yewenhao #同一个模板创建了一次,我们可以调用多次 # Low for name in (‘John‘,‘Julie‘,‘Pat‘): t = Template(‘Hello,{{ name }}‘) print t.render(Context({‘name‘: name})) # Good t = Template(‘Hello,{{ name }}‘) for name in (‘John‘,‘Pat‘): print t.render(Context({‘name‘: name})) 2? 万能的句点号 def index(wy): s1 = [123,345,567] s2 = {"username":"叶文浩"} return render(wy,"login.html",locals()) #HTML页面 #在列表中 <h2>{{s1.0}}</h2> #在字典中 <h2>{{s2.username}}</h2> 结果 123 叶文浩 #同样,也可以通过句点来访问对象的属性。 比方说, Python 的 datetime.date 对象有 #year 、 month 和 day 几个属性,你同样可以在模板中使用句点来访问这些属性: >>> from django.template import Template,Context >>> import datetime >>> d = datetime.date(1993,5,2) >>> d.year 1993 >>> d.month 5 >>> d.day 2 def attr_test1(eq): class Person: def __init__(self,name,age): self.name = name self.age = age s1 = Person("yewenhao",18) obj = Person("lijian",26) s2 = [123,567,789] return render(eq,"attr_test1.html",locals()) #html页面 <h1>{{s1}}</h1> <h1>{{s1.name}}</h1> <h1>{{s1.age}}</h1> #结果 <blog.views.attr_test1.<locals>.Person object at 0x0000000004173BA8> yewenhao 18 # 点语法也可以用来引用对象的方法。 例如,每个 Python 字符串都有 upper() 和isdigit() # 方法,你在模板中可以使用同样的句点语法来调用它们: >>> from django.template import Template,Context >>> t = Template(‘{{ var }} -- {{ var.upper }} -- {{ var.isdigit }}‘) >>> t.render(Context({‘var‘: ‘hello‘})) ‘hello -- HELLO -- False‘ >>> t.render(Context({‘var‘: ‘123‘})) ‘123 -- 123 -- True‘ ? 3? 变量的过滤器(filter)的使用 # 1 add : 给变量加上相应的值 # # 2 addslashes : 给变量中的引号前加上斜线 # # 3 capfirst : 首字母大写 # # 4 cut : 从字符串中移除指定的字符 # # 5 date : 格式化日期字符串 # # 6 default : 如果值是False,就替换成设置的默认值,否则就是用本来的值 # # 7 default_if_none: 如果值是None,就替换成设置的默认值,否则就使用本来的值 #实例: #value1="aBcDe" {{ value1|upper }}<br> #value2=5 {{ value2|add:3 }}<br> #value3=‘he llo wo r ld‘ {{ value3|cut:‘ ‘ }}<br> #import datetime #value4=datetime.datetime.now() {{ value4|date:‘Y-m-d‘ }}<br> #value5=[] {{ value5|default:‘空的‘ }}<br> #value6=‘<a href="#">跳转</a>‘ {{ value6 }} {% autoescape off %} {{ value6 }} {% endautoescape %} {{ value6|safe }}<br> {{ value6|striptags }} #value7=‘1234‘ {{ value7|filesizeformat }}<br> {{ value7|first }}<br> {{ value7|length }}<br> {{ value7|slice:":-1" }}<br> #value8=‘http://www.baidu.com/?a=1&b=3‘ {{ value8|urlencode }}<br> value9=‘hello I am yuan‘ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |