python--Django快速入门之模板层详解

一 模板层详解

作为Web 框架,Django 需要一种很便利的方法以动态地生成HTML。最常见的做法是使用模板。
模板包含所需HTML 输出的静态部分,以及一些特殊的语法,描述如何将动态内容插入。

二 模板引擎配置

模板引擎使用该TEMPLATES设置进行配置。这是一个配置列表,每个引擎一个。默认值为空。在
settings.py由所产生的startproject命令定义一个更有用的值:
在做下面模板配置的同时,也要在项目的根目录下创建一个 templates 目录

# 项目目录下的settings.py配置文件添加TEMPLATES中的DIRS配置
TEMPLATES = [
{
   
'BACKEND': 'django.template.backends.django.DjangoTemplates',
# 设置模板路径
'DIRS': [os.path.join(BASE_DIR,'templates')],
# ........省略部分代码
},
]

三 模板语法

1 变量

变量输出语法
{ { varname }}
当模版引擎遇到一个变量,将计算这个变量,然后将结果输出

2 标签

标签语法:
{% tag %}

标签格式 标签含义
{% for item in books %} {% enfor %} for循环
{% if 判断条件%} {% else %} {% endif %} if判断
{% comment %} {% endcomment %} 多行评论标签
{% include “base/index.html” %} 加载模板并以标签内的参数渲染
{% url ‘index’ %} 反向解析
{% csrf_token %} 跨站请求伪造保护标签

四 过滤器

通过使用过滤器来改变变量的计算结果。
过滤器语法:
{ { 变量名 | 过滤器1 | 过滤器2 | 过滤器3 }}
常见的过滤器:
详细的过滤器请参考Django官方网站

过滤器名称 过滤器含义 示例 upper
以大写方式输出 { { user.name | upper }} add
给value加上一个数值 { { user.age | add:“5” }} capfirst
第一个字母大写 { { user.name | capfirst }} center
变量居中在指定长度的字符串中 { { user.name | center:“50” }} cut
切除字符 { { “hello
python”|cut:“hello” }} date 根据给定格式对一个日期变量进行格式化。 { {
value|date:“D d M Y” }} default 为变量提供一个默认值。 { {
value|default:“nothing” }} safe 关闭HTML自动转义 { {
“hello” | safe }} length 获取字符串长度 if
list1|length > 1

五 自定义标签和自定义过滤器

首先在当前应用目录下创建一个 templatetags 模板标签目录,建议内放一个 init.py 的空
文件然后在 templatetags 目录下创建一个模板标签文件 pagetag.py ,具体代码如下:

templatetags
├── pagetag.py
--------

你可能感兴趣的:(python)