Django 基础教程

Django 查询

Django 展示数据

Django Admin

Django 模板

Django 表单组件

Django 高级

Django FAQ

django渲染html的标签


Django 渲染 HTML 的标签

Django 是一个流行的 Python Web 框架,它提供了多种方式来渲染 HTML 页面。以下是所有渲染方式的简要描述和示例代码:

使用 Django 模板语言

Django 模板语言是 Django 自带的模板引擎,它允许你在 HTML 文件中插入动态数据。模板语言使用 {{ 变量 }}{% 标签 %} 这样的特殊标记来区分动态内容和控制结构。

示例代码:

<!-- 在模板中定义变量并渲染 -->
<!DOCTYPE html>
<html>
<head>
    <title>{{ title }}</title>
</head>
<body>
    <h1>Hello, {{ username }}!</h1>
</body>
</html>

在 Django 视图函数中,你可以使用 render 函数来将数据传递给模板并进行渲染:

from django.shortcuts import render

def my_view(request):
    data = {
        'title': 'My Page',
        'username': 'John',
    }
    return render(request, 'my_template.html', data)

使用 Django 内置标签

Django 提供了多个内置标签,用于在模板中进行循环、条件判断和其他逻辑操作。这些标签使用 {% 标签 %} 的形式。

示例代码:

<!-- 使用 for 循环标签 -->

    {% for item in items %}*   {{ item }}

<!-- 使用 if 条件判断标签 -->
{% if user.is_authenticated %}
    <p>Welcome, {{ user.username }}!</p>
{% else %}
    <p>Please log in.</p>
{% endif %}

使用 Django 模板过滤器

Django 模板过滤器允许你在模板中对变量进行处理,如格式化日期、转换大小写等。过滤器使用管道符 | 连接到变量后面。

示例代码:

<!-- 使用模板过滤器 -->
<p>Uppercase: {{ text|upper }}</p>
<p>First 5 characters: {{ text|slice:":5" }}</p>
<p>Formatted date: {{ date|date:"F d, Y" }}</p>

使用 Django 嵌套模板

Django 允许你创建嵌套模板,即在一个模板中包含另一个模板。这样可以更好地组织你的代码并提高重用性。

示例代码:

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

<!-- my_template.html -->
{% extends "base.html" %}

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

{% block content %}
    <h1>Hello, {{ username }}!</h1>
{% endblock %}

在这个示例中,my_template.html 继承自 base.html,并使用 block 标签来覆盖和填充相应的内容。

这些是 Django 渲染 HTML 页面的主要方式。根据你的需求和项目要求,你可以选择最适合你的方式来渲染页面。

"Django"和"HTML",它们实际上是两个不同的概念,分别代表了一个Web框架和一种标记语言。它提供了许多工具和功能,使开发者能够更轻 ...
Django是一个流行的PythonWeb框架,提供了许多模板标签(templatetags),用于在Django模板中执行动态操作。这些标 ...
djangospaceless是Django模板语言中的一个标签,用于去除HTML渲染过程中产生的空白字符,包括空格、换行符等,以减小HTM ...
在Django模板中,truncatechars_html是一个内置的模板过滤器,用于截断包含HTML标签的文本内容。常见的使用场景包括:新 ...
Django和HTML是Web开发中两个不同的概念,分别代表了后端框架和前端标记语言。*HTML:HTML是静态的标记语言,无法在不涉及其他 ...