Django模板

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501

Django指定的模板引擎在settings.py文件中定义,代码如下:

TEMPLATES = [{

模板引擎,默认为Django模板

'BACKEND': 'django.template.backends.django.DjangoTemplates',

'DIRS': \[\], # 模板所在的目录

'APP_DIRS': True, # 是否启用APP目录

'OPTIONS': {

},

},

]

下面通过一个简单的例子,介绍如何使用模板,代码如下:

{% extends "base_generic.html" %}

{% block title %}{{ section.title }}{% endblock %}

{% block content %}

<h1>{{ section.title }}</h1>

{% for story in story_list %}

<h2>

<a href="{{ story.get_absolute_url }}">

{{ story.headline|upper }}

</a>

</h2>

<p>{{ story.tease|truncatewords:"100" }}</p>

{% endfor %}

{% endblock %}

Django模板引擎使用"{%%}"来描述Python语句区别于<HTML>标签,使用"{{}}"来描述Python变量。上面代码中的标签及说明如表7所示。

表7 Django模板引擎中的标签及说明

|--------------------------------------------|----------------------------------------------------------------------------------------|
| 标 签 | 说 明 |
| {% extends 'base_generic.html'%} | 扩展一个母模板 |
| {%block title%} | 指定母模板中的一段代码块,此处为title,在母模板中定义title代码块,可以在子模板中重写该代码块。block标签必须是封闭的,要由"{% endblock %}"结尾 |
| {{section.title}} | 获取变量的值 |
| {% for story in story_list %}、{% endfor %} | 和Python中的for循环用法相似,必须是封闭的 |

Django模板的过滤器非常实用,用来将返回的变量值做一些特殊处理,常用的过滤器如下:

l {{value|default:"nothing"}}:用来指定默认值。

l {{value|length}}:用来计算返回的列表或者字符串长度。

l {{value|filesizeformat}}:用来将数字转换成人类可读的文件大小,如:13KB,128MB等。

l {{value|truncatewords:30}}:获取返回的字符串的长度,此处为30个字符。

l {{value|lower}}:用于将返回的数据转换为小写字母。

相关推荐
鲲极5 小时前
居间业务数据统计看板 三条取数口径怎么归一才对得上
数据库·鲲极·鲲极系统
I Am a robert girl5 小时前
稀有事件估计的迭代去对齐:从源码视角拆解重要性采样新范式
开发语言·python·机器学习·重要性采样·蒙特卡洛方法·稀有事件估计
天若有情6735 小时前
开源|Comfort Lang v1.0.1,一款主打清爽交互的新型命令式编程语言
python·开源·交互·编程语言·项目分享·repl·comfort lang
ao-weilai5 小时前
MySQL数据库:基本查询
android·数据库·mysql
java1234_小锋5 小时前
【技术专题】Mysql8 数据库 - Mysql8 查询数据
数据库·mysql
打工仔折腾 AI6 小时前
System Prompt 替代 Few-shot:用规则约束大模型输出的省钱实践
java·人工智能·python·spring·langchain·prompt·ai agent 实战
打工仔折腾 AI6 小时前
从零写一个CAD 05:以鼠标为中心的滚轮缩放,招法能复用但顺序不能反
开发语言·后端·python·性能优化·计算机外设·swift·ai agent 实战
for_ever_love__6 小时前
控制流——if、for、while 与可迭代对象
python·大模型开发·循环·控制流
for_ever_love__6 小时前
PyTorch 张量与 autograd——自动求导怎么工作
pytorch·python·深度学习·自动求导
小小张说故事6 小时前
Python 里 `is` 和 `==` 到底差在哪?5 个让你怀疑人生的案例 + 对照表
python