Django-模板 templates
Django-模板
- Django中的模板是由 html充当的、默认存储在 templates 下
模板中常见的标签
输出标签 {{ key }}
判断标签
{% if 条件 %} {% elif 条件 %} {% else %} {% endif %}
{% ifequal a b %} {% endifequal %} => 相当于 python 中 if ab
{% ifnotequal a b %} {% endifnotequal %} ===> 相当于 python 中 if a!=b
循环标签
{% for var in list %}
{% empty %}
– list 如果为空,显示的内容
{% endfor %}
在 for 标签中,内置了一个 forloop 对象
forloop是一个字典格式的数据、内置的键
- parentloop: django视图函数 render传过来的 forloop的值
- counter0 索引
- counter 索引 + 1
- revcounter0 倒叙索引
- revcounter 倒叙索引 + 1
- first 是否是第一条记录
- last 是否是最后一条记录
load 标签
{% load static %}
static 标签
- 用来加载静态资源,在使用 static 标签的时候,必须先 {% load static %}
{% static ‘css/index.css’ %} ====> /static/css/index.css, 前提是 STATIC_URL = /static/
url 标签
- 在模板中,经常会定义路由地址, url标签主要是用来 通过 路由的名称 获取路由的地址 (路由反向解析技术)
{% url 路由名称 路由参数… %}
include 标签
- 将模板中重复的内容,提取到一个 新的模板中、在原模板中,通过 include 动态加载 新模板中的内容,以达到代码的重复使用
{% include ‘xxxx.html’ %}
block 标签
- 在 父模板中,使用 block 定义块
- 在 子模板中,填充块
extends 标签
- 在 子模板中,使用 extends 标签 继承 父模板
模板中常见的内置过滤器
- 对模板中的数据进行过滤、加工处理
- django内置的过滤器 defaultfilters.py 中定义
过滤器 | 说明 | 备注 |
---|---|---|
capfirst | 首字母转大写 | |
floatformat | 小数格式化 | 保留小数 |
lower | 转小写 | |
make_list | 转列表 | |
truncatechars | 截取指定长度的字符 | {{str:truncatechars:4}} |
upper | 转大写 | |
wordcount | 统计单词个数 | |
ljust | 左对齐 | 如果长度不够指定的位置,则在右边补空格 |
rjust | 右对齐 | 如果长度不够指定的位置,则在左边补空格 |
cut | 去掉字符串中指定的字符串 | |
safe | 代表要过滤器的字符串是允许使用html标签的 | 尽量不要使用,易存在 XSS攻击 |
first | 获取第一个元素 | |
join | 通过指定的分隔符连接list,形成一个字符串 | |
last | 获取最后一个元素 | |
length | 获取长度 | |
lenght_is | 判断长度是否是指定的长度 | |
random | 随机从指定的数据中获取一个元素 | |
add | 数字 + 运算 | |
date | 格式化日期 | Y-m-d H:i:s |
default | 对None设置默认值 | |
filesizeformat | 文件大小的格式化 |
django模板 自定义过滤器
- 过滤器必须在某个应用下,才能生效
自定义过滤器的步骤
- 在
resource
应用下,新建一个templatetags
包 (名字是固定的) - 在 settings.py 配置文件的 INSTALLED_APPS 下激活
INSTALLED_APPS = [...'resource.templatetags',
]
- 在 templatetags 包下、新建一个 extra_filters.py (名字是随意的)
from django.template.library import Library# 创建一个 Libray 对象, 是用来注册 自定义的过滤器
register = Library()@register.filter
def ext(value):allows_ext_list = ["doc", "docx", "exe", "pdf", "ppt", "rar", "txt", "xlsx", "zip"]return value if value in allows_ext_list else "unknow"
- 在模板中,使用 load 标签,加载 自定义过滤器模块
{% load extra_filters %}
- 使用过滤器
value|filter:args
Django-模板 templates相关推荐
- Python Django模板templates渲染及配置
- python后台架构Django教程——templates模板
全栈工程师开发手册 (作者:栾鹏) 本文衔接至python后台架构Django开发全解. 有其他问题请先阅读:http://blog.csdn.net/luanpeng825485697/articl ...
- 【Youtobe trydjango】Django2.2教程和React实战系列七【模板templates和Django模板引擎】
[Youtobe trydjango]Django2.2教程和React实战系列七[模板templates和Django模板引擎] 1. 修改视图函数 2. 新建模板文件夹和html文件 3. 项目配 ...
- Django 模板4.1
模板介绍 作为Web框架,Django提供了模板,可以很便利的动态生成HTML 模版系统致力于表达外观,而不是程序逻辑 模板的设计实现了业务逻辑(view)与显示内容(template)的分离,一个视 ...
- Django模板、配置文件、静态文件及案例实现(创建模板、设置模板查找路径、模板接收视图传入的数据、模板处理数据、BASE_DIR、DEBUG、本地语言与时区、App应用配置)
1.Django模板 网站如何向客户端返回一个漂亮的页面呢? 漂亮的页面需要html.css.js. 可以把这一堆字段串全都写到视图中, 作为HttpResponse()的参数,响应给客户端. 存在的 ...
- Django模板用法
django模板原理 # 创建template对象,由context对象传递template所需要的值, 有render方法进行模板的呈现 # 写模板,创建 Template 对象,创建 Contex ...
- django模板过滤器
django模板&过滤器 声明:部分信息来源这篇博客https://www.cnblogs.com/maple-shaw/articles/9333821.html MVC: 模型(model ...
- python django 模板
1 用两个大括号括起来的文字{{person_name}} 称为变量 2 被 大括号和面分号包围的文件({% if ordered_warranty %})是模板标签 3 过滤器是用管道符(|) 和U ...
- Django—模板渲染
参考文档: http://www.cnblogs.com/fnng/p/4373108.html https://code.ziqiangxuetang.com/django/django-intro ...
- Django模板继承
继承这个概念在很多语言中都有,主要是子类从父类继承一些属性和函数,当然子类也可以重写父类函数的一些功能等等.在Django也有类似功能,这里的继承是指子类继承了父类的"界面布局" ...
最新文章
- 我竟然混进了Python高级圈子!
- 图像的评价指标之PSNR——峰值信噪比
- Ubuntu 14.04系统下安装和编译QT 5.9.2库(桌面版/ARM嵌入式IMX6版)
- Android系统匿名共享内存Ashmem(Anonymous Shared Memory)在进程间共享的原理分析
- 主板螺丝是机箱配还是主板配_要配新电脑,A520主板和B450主板哪一个更加值得购买?...
- 天猫11.11:搜索引擎实时秒级更新(转载)
- 解读NoSQL最新现状和趋势:云NoSQL数据库将成重要增长引擎
- prim求最短路径C语言,[图论]Prim算法求最小支撑树和最短路径
- TOM企业邮箱,为你打造企业专属邮箱
- wrf模式计算机配置,科学网-WRF模式的运行-张乐乐的博文
- php 字符串加密解密
- 千亿美妆市场“野蛮生长”,悦瞳靠“假睫毛”能否“翘”动市场?
- 十大排序算法代码集锦(java)
- 9495 删除线性表中所有值为x的元素
- 转行软件测试两年了,听大神说测试前途是IT里最low的,我慌了......
- yuan sir generator desk appliacation
- sublime快速插入多行递增的数字
- winds以管理员身份运行命令提示符
- 2019数据安装勾选_天正T20V5.0建筑安装包免费下载附安装教程
- 苹果App Store程序提交审核指南中文版