django笔记,django1.8
学习笔记,仅供参考。
文章目录模板的标签,如果标签的标签.空标签循环标签注释标签等等
模板的标签
将一些服务器端函数嵌入到模板中。
标记语法{%tag%}
.
{%end label%}
If标记语法:
{%if条件表达式%}
.
{%elif条件表达式%}
.
{%else%}
.
{%endif%}
可用于if条件表达式的if标签运算符中的布尔运算符:
==,=,=,=,in,not in,is,is not,and或if标记中的实际括号是无效语法。如果我们需要指示优先级,我们应该使用嵌套的If标签而不是括号来增加优先级。
对于标签
语法:
{ % for iterable对象%}中的变量
{ % endfor % }的内置变量:
可变的
形容
forloop .柜台
周期计数(从1开始)
forloop.counter0
周期计数(从0开始)
forloop.revcounter
反向循环计数(从len(迭代对象)开始,到1结束)
forloop.revcounter0
反向循环计数(从len(迭代对象)-1开始,到0结束)
forloop.first
如果是第一个循环,则返回true。
forloop.last
如果是最后一个周期,则返回true。
forloop.parentloop
当循环嵌套存在时,Parentloop可以循环当前循环的父循环。
对于…空标签
语法:
{ % for iterable对象%}中的变量
{% empty %}
{% endfor %}当iterable对象为空时,将使用{% empty %}标记。
循环标签
从循环列表后的参数中取值,并在每次调用时进行替换。这个标签经常用在循环中,比如处理表格的隔行颜色变化。
语法:
{% for i in some_list %}
tr class={% cycle row1 row2 %}
td /td
.
td /td
/tr
{% endfor %}
给…作注解
模板的呈现系统将忽略以{#开始并以#}结束的范围内的文本信息。
例如:
{# h2此处的文本不会生成HTML语句/h2 #}请注意模板注释和HTML内部注释的区别。
模板的注释在HTML解析中会被直接忽略,不会生成HTML语句;HTML注释会保留在HTML网页的源代码中,生成HTML语句,这些语句是针对浏览器的注释。
注释标签
介于{% comment %}和{% endcomment %}之间的内容将被忽略。
例如:
{% comment %}
{% if has_car %}
H1 {{ name }}有一辆车/h1
{% else %}
H1 {{ name }}没有汽车/h1
{% endif %}
{% endcomment %}请注意,注释标记不能嵌套。
举几个例子。
实施例1(如果标记)page3.html
!声明文档类型
html lang=en
头
meta charset=UTF-8
标题模板/标题
/头
身体
H1这是我的第三个模板/h1
氘
{{name}}
{%if has_bunny %}
有
{% else %}
没有
{% endif %}
兔子
/h2
/body
/html urls.py
urlpatterns=[
路径( admin/,admin.site.urls),
re_path(rpage3_template/$ ,views.page3_template),
]views.py
def page3_template(请求):
d={name:Ada ,
has_bunny:True}
Render (request, page3.html ,d)向http://127 . 0 . 0 . 1:8000/page 3 _ template/:
示例2(2(if标签)page4.html中的布尔运算符
!声明文档类型
html lang=en
头
meta charset=UTF-8
标题模板/标题
/头
身体
H1这是我的第四个模板/h1
氘
{{name}}是一个
{ %如果年龄为5 %}
青年们
{% elif年龄60 %}
晚年
{% else %}
成长
{% endif %}
兔子
/h2
/body
/html urls.py
urlpatterns=[
路径( admin/,admin.site.urls),
re_path(rpage4_template/$ ,views.page4_template),
]views.py
def page4_template(请求):
d={ 姓名:黄,
年龄:10}
Render (request, page4.html ,d)向http://127 . 0 . 0 . 1:8000/page 4 _ template/:
实施例3(用于标记)page5.html
!声明文档类型
html lang=en
头
meta charset=UTF-8
标题模板/标题
/头
身体
H1这是我的第5个模板/h1
氘
兔子名单
/h2
保险商实验所
{% for i in bunny %}
{% if forloop.first %}
李-我是第一行-/李
{% endif %}
李{{forloop.counter}}兔子:{ { I } }/李
{% endfor %}
/ul
/body
/html urls.py
urlpatterns=[
路径( admin/,admin.site.urls),
re_path(rpage5_template/$ ,views.page5_template)
]views.py
定义第5页_模板(请求):
d={bunny:[黄,白,添]}
返回渲染(请求,‘page5.html’,d)向http://127 .0 .0 .1:8000/第5页_模板/发起请求:
例子4(空标签)page5.html
!声明文档类型
html lang=en
头
meta charset=UTF-8
标题模板/标题
/头
身体
氕这是我的第5个模板/h1
氘
兔子列表
/h2
保险商实验所
{% for i in bunny %}
{% if forloop.first %}
李-我是第一行-/李
{% endif %}
里第{{forloop.counter}}个兔子:{{i}} /li
{% empty %}
李-没有兔子-/李
{% endfor %}
/ul
/body
/html views.py
定义第5页_模板(请求):
d={bunny:[]}
返回渲染(请求,‘page5.html’,d)向http://127 .0 .0 .1:8000/第5页_模板/发起请求:
例子5(周期标签)page6.html
!声明文档类型
html lang=en
头
meta charset=UTF-8
标题兔兔之家/标题
/头
身体
桌子
{% for i in bunny %}
tr style= background:{ % cycle blue green % }
泰国(泰国)名字:{{i.name}} /th
泰国(泰国)年龄:{{i.age}} /th
/tr
{% endfor %}
/表格
/body
/html urls.py
urlpatterns=[
路径( admin/,admin.site.urls),
re_path(rpage6_template/$ ,views.page6_template),
]views.py
班兔:
def __init__(自己,姓名,年龄):
self.name=name
年龄=年龄
定义说话(自我):
string=self.name 今年已经 str(self.age)个月啦
返回字符串
定义第6页_模板(请求):
d={bunny:[bunny(黄,10),兔子(’白,11),兔子(’添,8)]]
返回渲染(请求,‘page6.html’,d)向http://127 .0 .0 .1:8000/第6页_模板/发起请求:
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。