📜  Django 模板(1)

📅  最后修改于: 2023-12-03 15:00:27.318000             🧑  作者: Mango

Django 模板介绍

什么是 Django 模板?

Django 模板是 Django Web 框架中的一个重要组成部分,用于将数据和视图分离,以便更有效地构建动态的 Web 页面。Django 模板采用简单的标记语言,允许开发人员将动态内容插入静态 HTML 模板中。

模板语法

Django 模板语法简洁且易于使用,它提供了一些标签和过滤器,以帮助开发人员在模板中执行各种任务。

模板标签

模板标签是用于表示逻辑和控制模板渲染的特殊标记。以下是一些常用的 Django 模板标签示例:

  • {% for item in items %}: 用于循环遍历一个列表或查询集。
  • {% if condition %}: 用于执行条件语句,根据条件的真假分支选择不同的内容。
  • {% include 'template.html' %}: 用于包含其他模板文件。
  • {% block content %}{% endblock %}: 用于定义模板的块,可以在继承的模板中重写。
模板过滤器

模板过滤器用于对模板变量进行处理或转换,使其在渲染模板时具有特定的格式或行为。以下是一些常用的 Django 模板过滤器示例:

  • {{ variable|length }}: 返回变量的长度或项目数量。
  • {{ variable|date:"Y年m月d日" }}: 将日期变量格式化为特定的日期字符串。
  • {{ variable|upper }}: 将变量转换为大写。
  • {{ variable|default:"N/A" }}: 如果变量为空,则使用默认值。
模板继承

Django 模板允许使用模板继承来重复使用或扩展已有的模板。通过使用 {% extends 'base.html' %} 标签,可以继承一个父模板,并使用 {% block %} 标签来替换或扩展父模板中的内容。

以下是一个简单的模板继承示例:

<!-- base.html -->
<html>
<head>
    <title>{% block title %}{% endblock %}</title>
</head>
<body>
    {% block content %}
    {% endblock %}
</body>
</html>
<!-- child.html -->
{% extends 'base.html' %}

{% block title %}My Awesome Page{% endblock %}

{% block content %}
    <h1>Welcome to my page!</h1>
    <p>This is the content of my page.</p>
{% endblock %}
模板变量和上下文

Django 模板可以使用上下文中的变量进行渲染。上下文是一个包含模板变量的字典,可以在模板中直接访问这些变量。

开发人员可以在视图函数中定义上下文,并将它传递给渲染模板的过程。模板变量可通过使用 {{ variable }} 语法在模板中进行访问和使用。

总结

Django 模板是 Django Web 框架中用于构建动态 Web 页面的重要工具。它提供了简洁且强大的模板语法,通过模板继承和上下文变量,使开发人员能够轻松地创建可重用的模板和动态内容。对于 Django 开发人员来说,掌握 Django 模板是十分重要的技能。

注意:以上内容为 Markdown 格式。