Django:模板

Posted ywxbbbbb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django:模板相关的知识,希望对你有一定的参考价值。

模板通常用于产生html,但是Django的模板也能产生任何基于文本格式的文档。

<html>
<head><title>Ordering notice</title></head>
<body>
<h1>Ordering notice</h1>
<p>Dear {{ person_name }},</p>
<p>Thanks for placing an order from {{ company }}. It‘s scheduled to
ship on {{ ship_date|date:"F j, Y" }}.</p>
<p>Here are the items you‘ve ordered:</p>
<ul>
{% for item in item_list %}
    <li>{{ item }}</li>
{% endfor %}
</ul>
{% if ordered_warranty %}
    <p>Your warranty information will be included in the packaging.</p>
{% else %}
    <p>You didn‘t order a warranty, so you‘re on your own when
    the products inevitably stop working.</p>
{% endif %}
<p>Sincerely,<br />{{ company }}</p>
</body>
</html>

用两个大括号括起来的文字(例如  {{ person_name }} )称为  变量 (variable) 。

被大括号和百分号包围的文本(例如 {% if ordered_warranty %} )是 模板标签 (template tag) 。标签(tag)定义比较明确,即: 仅通知模板系统完成某些工作的标签。

这个例子中的模板包含一个 for 标签( {% for item in item_list %} )和一个 if 标签( {% if ordered_warranty %} )

for标签类似Python的for语句,可让你循环访问序列里的每一个项目。 if 标签,正如你所料,是用来执行逻辑判断的。 在这里,tag标签检查ordered_warranty值是否为True。如果是,模板系统将显示{% ifordered_warranty %}和{% else %}之间的内容;否则将显示{% else %}和{% endif %}之间的内容。{% else %}是可选的。

最后,这个模板的第二段中有一个关于filter过滤器的例子,它是一种最便捷的转换变量输出格式的方式。如这个例子中的{{ship_date|date:”F j, Y” }},我们将变量ship_date传递给date过滤器,同时指定参数”Fj,Y”。date过滤器根据参数进行格式输出。

以上是关于Django:模板的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 片段在 Django 模板中不起作用

如何在扩展另一个文件的 django 模板中使用带有动态内容的 html 块片段?

Django模板过滤器 - 一行

如何在Django视图中使用for循环返回每次迭代[关闭]

VSCode自定义代码片段——.vue文件的模板

如何使用引导程序和 for 循环在 django 中创建电影片段?