| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Django模板 -> 正文阅读 |
|
[Python知识库]Django模板 |
Django模板 模板中变量使用了双括号,需要向Django说明模板文件的途径。 Django模板标签 变量 模板语法:
列表 在Django中,可以使用.索引下标取出对应的元素 字典 可以用.键取出对应值 过滤器? ?模板语法
模板过滤器可以在变量被显示前修改它,过滤器使用管道字符,如下显示:
变量被过滤器lower处理后,文档大写转换为小写。 过滤管道可以被”套接“,既是说,一个过滤器管道的输出可以作为另一个过滤器管道的输入。 有些过滤器有参数,过滤器的参数是跟随冒号之后并且总是以双引号包含。
其他过滤器: addslashes:添加反斜杠、单引号或者双引号前面。 date:按指定的格式字符串参数格式化date或者datetimej对象。 length:返回变量的长度。 default default为变量提供一个默认值; 如果views传的变量的布尔值为false,则使用指定的默认值。 length 返回对象的长度,一般适用于字符串和列表。 字典返回的是键值对的数量,集合返回的是去重后的长度。 filesizeformat 以更易读的方式显示文件的大小。 字典返回的是键值对的数量,结合返回的 是去重后的长度 date 根据给定格式对一个日期变量进行格式化 格式:Y-m-d H:i:s 返回年-月-日 小时-分钟-秒的格式时间 truncatechars 如果字符串包含的字符总个数多于指定的字符数量,那么会被截断掉后面的部分。 截断的字符串会以...结尾 safe 将文件标记为安全,不需要转义。 要保证views.py传过来的数据绝对安全,才能用safe。 和后端的views.py的mark_safe效果相同。 Django会对views.py传到HTML文件中 的标签语法进行转义,令其语法失效。加safe会过滤器是告诉Django该数据是安全的,不需要转义,可以让该数据语义生效。 if/else标签 基本语法格式如下:
根据条件判断是否输出,if/else支持嵌套 {%if%}标签接受and,or或not关键字来对多个变量进行判断。或者对变量取得反(not)。 for标签 {%for%}允许我们在一个序列上迭代。 与python中的for语法相似,循环语法是for X in Y, Y是要迭代的序列而X 是在每一个特定的循环中使用的变量名称。每一次循环中,模板系统会渲染{%for%}和{%endfor%}之间的全部内容。 遍历字典:可以直接用字典.items方法,用变量的解包分别获取键和值。 循环标签里可以用{{forloop}}变量来获取循环序号。
?可选的{%empty%}从句:在循环为空的时候执行(即in后面的参数布尔值为false) ifequal/inotequal标签 {%ifequal%}标签比较这两个值,当他们相等时,显示在{%ifequal%}和{%endifequal%}中间的所有值。 注释标签
include标签 {%include%}标签允许在模板中包含其他的模板的内容。 csrf_token csrf_token用于form表单中,租用是跨站请求伪造保护。 如果不用这个标签,在使用form表单时,要再次跳转页面就会报403权限错误。 用了{%csrf_token%}标签,在form表单提交数据的时候,才会成功。 解析:首先,向服务器发送请求,获取登录页面,此时中间件csrf会自动生成一个隐藏的input标签,该标签里的value值是一个随机的字符串,用户获取到登录页面的同时也获取到了这个隐藏的input的标签。 自定义标签和过滤器 1、在应用目录下创建templatetags目录。? 2、在templatetags目录下创建任意py文件,如my_tags.py。 3、my_tags.py代码如下:
4、利用装饰器@register.filter自定义过滤器。 转义:装饰器的参数最多只能有2个。 5、利用装饰器@register.simple_tag自定义标签 6、在使用自定义标签和过滤器前,要在html文件body的最上方中导入该文件。 7、在html中定义过滤器。 8、在html中使用自定义标签。 9、语义化标签。 配置静态文件 1、在根目录下创建statics目录。 2、在settings文件的最下方配置添加以下配置。 3、在statics目录下创建css目、js目录、images目录、plugins目录,分别存放css文件、js文件、图片、插件。 4、把bootstrap框架放入插件目录plugins。 5、在HTML文件的head标签中引入bootstrap。 模板继承 模板可以用继承的方式来实现复用,减少冗余内容。 网页的头部和尾部内容一般都是一致的,我们就可以通过模板继承来实现复用。 父模板用于放置可重复利用内容,子模板继承父模板的内容,并放置自己的内容。 父模板 标签block...endblock:父模板中的预留区域,该区域留给子模版补充差异性的内容,不同预留区域的名字不能相同。 子模板 子模板使用extends继承父模板。 子模版如果没有设置父模板中的预留内容,则使用在父模板中的设置的默认内容,当然也可以都不设置,就为空。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 17:54:32- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |