1004.Django模板标签
一、常用标签
模板标签
标签在渲染的过程中提供任意的逻辑。这个定义是刻意模糊的。例如,一个标签可以输出内容,作为控制结构,例如 “if”语句或“for”循环从数据库中提取内容,甚至可以访问其他的模板标签。
标签语法:由{% %}来定义的,例如:{% tag %} {% endtag %}
常用标签
1、 if/elif/else:可以使用and/or/in/not/==/!=/<=/>=,来进行判断。ifequal/ifnotequal li = ['x', 'y', 'z']
2、 for...in...:跟python中的for...in...用法一样。
forloop.counter:当前迭代的次数,下标从1开始。 1,2,3
forloop.counter0:当前迭代的次数,下标从0开始。0,1,2
forloop.revcounter:当前迭代的次数,下标从大到小。3,2,1
forloop.revcounter0:当前迭代的次数,下标从大到小。2,1,0
forloop.first:返回bool类型,如果是第一次迭代,返回True,否则返回Flase。
forloop.last:返回bool类型,如果是最后一次迭代,返回True,否则返回Flase。
forloop.parentloop:如果发送多层for循环嵌套,那么这个变量返回的是上一层的for。
3、 for...in...empty...:如果没有数据,跳转到empty中。
4、 load:加载第三方标签,最常用的是{% load static %}。
5、 url:返回一个命名了的URL的绝对路径。
6、 with:缓存一个变量。
7、 autoescape:开启和关闭自动转义。
<!--if的例子-->
{% if name == 'python' %}
这个是python的页面
{% elif name == 'django' %}
这个是django的页面
{% else %}
哈哈哈! 是{{ name }}的呢!
{% endif %}
<!--for的例子-->
{% for i in ls %}
{% if forloop.counter == 1 %}
<li>这个是第一个值</li>
{% else %}
<li>{{ i }}</li>
{% endif %}
{% endfor %}
<!--url页面转换的例子-->
<!--urls.py文件代码-->
path('index5/', views.index_5),
path('article_new/', views.article_new, name='new_article'),
path('test/<int:t_id>/', views.test, name='test'),
<!--html代码 -->
<a href="/book/index5/">到过滤器那个页面</a><br>
<a href="{% url 'new_article' %}">新的文章</a><br>
<a href="{% url 'test' 123 %}">url加参数传递</a><br> <!--with的使用 -->
{% with test_name as tn %}
11111{{ tn }}<br>
22222{{ tn }}
{% endwith %}
<!--autowscape的使用 -->
原始的:{{ html }}<br>
过滤器方式:{{ html |safe }}<br>
标签方式:
{% autoescape off %}
{{ html }}<br>
{% endautoescape %}
二、模板的继承与引用
Django模板引擎中最强大也是最复杂的部分就是模板继承了。模板继承可以让你创建一个基本“骨架”模版。它包含你站点的全部元素,并且可以定义能够被子模版覆盖的blocks。
1. 创建三个模板文件,base.html, indexxx.html, ss.html
2. base.html中的内容
3. ss.html中的内容
4. indexxx.html中的内容
模板继承的总结
模板基础层使用extends标签实现。通过使用block来给子模版开放接口。
1. extends必须是模板中的第一个出现的标签。
2. 子模版中的所有内容,必须出现在父模板定义好的block中,否则django将不会渲染。
3. 如果出现重复代码,就应该考虑使用模板。
4. 尽可能多的定义block,方便子模板实现更细的需求。
5. 如果在某个block中,要使用父模板的内容,使用block.super获取。
1004.Django模板标签的更多相关文章
- 转:django模板标签{% for %}的使用(含forloop用法)
django模板标签{% for %}的使用(含forloop用法) {% %}虽然这个是写在html中,但是这里边写的是服务端代码 在django模板标签中,{% for %} 标签用于迭代序列 ...
- Django 模板标签[转]
Django 模板标签if/else 标签 基本语法格式如下: {% if condition %} ... display{% endif %} 或者: {% if condition1 % ...
- 解决AngularJS和Django模板标签冲突问题
原地址 Django和AngularJS在模板中使用同样的符号来引用变量,例如 {{variable_name}}. 有两种解决办法,各有利弊.一个修改AngularJS模板语法,另一个使用Djang ...
- Django 学习第四天——Django 模板标签
一.模板标签: 作用:标签在渲染的过程中提供任意的逻辑:例如 if for...in... 等 标签语法:由 {% %} 来定义的:例如:{% tag %}xxx{% endtag %} 常用标签: ...
- python的Web框架,Django模板标签及模板的继承
模板标签 在传递数据的时候,会有大量的数据展示在浏览器上,而数据会是动态变化的,在html的编写中,数据也是需要动态的,而不能是写死的,如果动态展示呢. 给定的例子数据 views传递数据给html ...
- Django模板标签
一.模板标签 1.模板标签是在模板中运用python语言的实现,如for循环,if语句 2.模板标签的运用 2.1在teacher模板下创建students_list模板, 在teacher视图中国创 ...
- Django 学习笔记(五)模板标签
关于Django模板标签官方网址https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.IF标签 Hello World/vi ...
- Django之博客系统:自定义模板标签
Django提供了很多内置的模板标签比如{% if %}或者{% block %}Django也允许你创建自己的模板标签(template tags)来执行自定义的动作.当你需要在你的模板中添加功能而 ...
- Django——4 模板标签 模板的继承与引用
Django 模板标签 常用标签 模板的继承与引用 模板标签 标签在渲染的过程中提供任意的逻辑 标签语法: 由%}和 {% 来定义的,例如:{%tag%} {%endtag%} 这个定义是刻意模糊的. ...
- django模板系统基础
模板系统基础Django模板是一个string文本,它用来分离一个文档的展现和数据 模板定义了placeholder和表示多种逻辑的tags来规定文档如何展现 通常模板用来输出HTML,但是Djang ...
随机推荐
- 如何使用cmd(dos命令)关闭IIS中某个站点
在 目录 C:\Windows\System32\inetsrv 下面有一个 appcmd 程序,定位到 该目录下 appcmd site /? #管理站点 appcmd /? #管理整个IIS ...
- freeradius + mysql安装配置
该文档参考http://t.zoukankan.com/FlyingPuPu-p-7772410.html安装,仅做了微调. 一.准备工作 安装编译FreeRadius所需要的依赖 #安装wget.g ...
- vs2019下 c++中 dll 的新建和引用步骤
在工作目录下新建文件夹 DllImportTest ,作为解决方案所在目录 新建项目动态链接库(DLL)项目 DllDemo 位置 指定到 上面新建文件夹 DllImportTest 所在的路径, ...
- 理解cpu过高的逻辑思维与分析方法
工作经常碰到负载过高,cpu占有太高,系统变慢,运维通常做的第一件事就是通过top或者uptime命令来了解系统负载的情况 通常uptime后会出现三个小数,就是平均负载值,那真正的了解这个平均负载值 ...
- 扫二维码 下载app
<?phpheader("Access-Control-Allow-Origin: https:// ");$version = PAPI_GetSafeParam('ver ...
- Mac怎么创建加密文件夹
对于一些使用Mac工作生活有特殊要求以及职业要求有限制的用户来说,加密自己的工作内容以及隐私是非常重要的一件事情.往往用户需要加密的内容项目很多,这个时候我们就需要一个加密文件夹来包含这些内容.那么M ...
- C/C++:printf 函数格式化输出,用法详细记录
printf ( print format )函数是接触C/C++之后接触的第一个函数,它的功能除了输出hello world外,更重要的是进行格式化输出,比如输出整数的%d,输出小数的%f,%lf ...
- pg 窗口函数
窗口函数基于结果集进行计算,将计算出的结果合并到输出的结果集上,并返回多行.使用窗口函数能大幅度简化SQL代码.gaussdb提供内置的窗口函数,例如row_num().rank().lag()等,除 ...
- kvm介绍(1)
- sequelize 分页查询
分页原理: 第一步 下面的result 可以修改: