Django 模板的语法变量、标签、过滤器 笔记

模板语法之变量

	# in  views:
	import datetime
	def index(request):
	    
	    s="hello"
	    l=[111,222,333]    # 列表
	    dic={"name":"aaa","age":18}  # 字典
	    date = datetime.date(1993, 5, 2)   # 日期对象
	 
	    class Person(object):
	        def __init__(self,name):
	            self.name=name
	 
	    person_aa=Person("aa")  # 自定义类对象
	    person_bb=Person("bb")
	    person_cc=Person("cc")
	 
	    person_list=[person_aa,person_bb,person_cc]
	    return render(request,"index.html",{"l":l,"dic":dic,"date":date,"person_list":person_list}) 

	# in  templates html:
	<h4>{{s}}</h4>-------hello
	<h4>列表:{{ l.0 }}</h4>-------111
	<h4>列表:{{ l.2 }}</h4>-------333
	<h4>字典:{{ dic.name }}</h4>-------aaa
	<h4>日期:{{ date.year }}</h4>-------1993
	<h4>类对象列表:{{ person_list.0.name }}</h4>-------aa

模板之标签

	for标签
		{% for key,val in dic.items %}
		    <p>{{forloop.counter}}--{{ key }}:{{ val }}</p>-----显示:1--key:val

		{% empty %}----当字典或者列表为空时,执行这条语句。
    		<p>sorry,no person here</p>
		{% endfor %}

		forloop.counte----从1开始增加
		forloop.counter0----从0开始
		forloop.revcounter----倒序至1结束
		forloop.revcounter0----倒序至0
		forloop.first----第一个值
		forloop.last----最后一个值

	if 标签
		{% if num > 100 or num < 0 %}
		    <p>无效</p>
		{% elif num > 80 and num < 100 %}
		    <p>优秀</p>
		{% else %}
		    <p>凑活吧</p>
		{% endif %}

	with 标签
		{% with total=business.employees.count %}
		    {{ total }} employee{{ total|pluralize }}
		{% endwith %}

模板之过滤器

	语法:
		{{obj|filter__name:param}}

	default
		如果一个变量是false或者为空,使用给定的默认值。否则,使用变量的值。例如:
		{{ value|default:"nothing" }}

	length
		a=['a', 'b', 'c', 'd']
		{{ a|length }}------值为4

	filesizeformat
		将值格式化为一个 “人类可读的” 文件尺寸 (例如 '13 KB', '4.1 MB', '102 bytes', 等等)。例如:
		a=123456789
		{{ a|filesizeformat }}------值为 117.7 MB。

	date
		time=datetime.datetime.now()
		{{ time|date:"Y-m-d" }}------2017-10-27

	slice
		a="hello world"
		{{ a|slice:"2:-1" }}------值为 llo worl

	safe
		Django的模板中会对HTML标签和JS等语法标签进行自动转义,通过过滤器“|safe”的方式
		告诉Django这段代码是安全的不必转义
		value="<a href="">点击</a>"
		{{ value|safe}}---------html里以文本显示这段代码<a href="">点击</a>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值