欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django 中的templates使用示例詳解

 更新時間:2024年10月06日 10:14:35   作者:向上的車輪  
Django模板系統(tǒng)提供了一套豐富的工具集,能夠幫助開發(fā)者將動態(tài)數(shù)據(jù)有效地渲染到HTML頁面中,它通過特殊的語法支持變量插入、邏輯標簽和過濾器的使用,本文給大家介紹Django 中的templates使用,感興趣的朋友一起看看吧

Django的模板系統(tǒng)是一個強大的工具,用于將動態(tài)數(shù)據(jù)渲染到HTML頁面中。以下是Django模板系統(tǒng)的詳細用法:

模板的基本概念

Django模板使用一個特殊的語法來插入變量、標簽和過濾器。

創(chuàng)建模板

創(chuàng)建模板目錄:在你的Django應(yīng)用中創(chuàng)建一個名為templates的目錄。

編寫模板文件:在templates目錄中創(chuàng)建HTML文件,文件擴展名通常為.html。

模板繼承

Django模板支持繼承,這意味著你可以創(chuàng)建一個基礎(chǔ)模板,并允許其他模板繼承它。

<!-- base.html -->
<html>
<head>
    <title>{% block title %}My Site{% endblock %}</title>
</head>
<body>
    {% block content %}
    {% endblock %}
</body>
</html>
<!-- child.html -->
{% extends "base.html" %}
{% block title %}Home Page{% endblock %}
{% block content %}
    <h1>Welcome to my site!</h1>
{% endblock %}

變量

在模板中,變量用{{ variable }}表示。

<p>Hello, {{ name }}!</p>

標簽

Django模板提供了許多內(nèi)置標簽,例如for循環(huán)、if條件語句等。

{% if user.is_authenticated %}
    <p>Welcome, {{ user.username }}!</p>
{% else %}
    <p>Welcome, guest!</p>
{% endif %}

過濾器

過濾器可以被用來修改變量的輸出。過濾器使用|符號。

{{ article.pub_date|date:"Y-m-d" }}

自定義過濾器

你可以創(chuàng)建自己的過濾器,并在模板中使用它們。

# 在應(yīng)用的模板tags目錄中創(chuàng)建一個自定義過濾器
from django import template
register = template.Library()
@register.filter(name='my_filter')
def my_filter(value):
    return value.upper()

然后在模板中使用:

{{ my_variable|my_filter }}

模板標簽

模板標簽用于執(zhí)行特定的邏輯。

{% for article in articles %}
    <p>{{ article.title }}</p>
{% endfor %}

模板中的URL

在模板中,你可以使用url標簽來生成URL。

<a href="{% url 'view_name' arg %}" rel="external nofollow"  rel="external nofollow" >Link</a>

注釋

在模板中,你可以使用{# ... #}來添加注釋。

{# 這是一個注釋 #}

靜態(tài)文件

在模板中,你可以使用{% static %}標簽來引用靜態(tài)文件。

<link rel="stylesheet" href="{% static 'css/style.css' %}" rel="external nofollow"  rel="external nofollow" >

模板上下文

在視圖中,你可以傳遞一個上下文字典給模板。

from django.shortcuts import render
def my_view(request):
    return render(request, 'my_template.html', {'name': 'Kimi'})

模板字符串

你可以在模板中使用模板字符串來創(chuàng)建動態(tài)內(nèi)容。

{% with name="Kimi" %}
    <p>Hello, {{ name }}!</p>
{% endwith %}

模板中的表單

Django模板提供了表單渲染的標簽,例如form標簽和form.as_p。

<form method="post">
    {% csrf_token %}
    {{ form.as_p }}
    <button type="submit">Submit</button>
</form>

模板中的靜態(tài)方法

在模板中,你可以使用{{ form.field.label_tag }}來渲染字段的標簽。

模板中的循環(huán)

你可以在模板中使用for循環(huán)來迭代數(shù)據(jù)。

<ul>
    {% for item in items %}
        <li>{{ item.name }}</li>
    {% endfor %}
</ul>

模板中的條件

你可以在模板中使用if標簽來執(zhí)行條件邏輯。

{% if user.is_authenticated %}
    <p>Welcome back, {{ user.username }}!</p>
{% else %}
    <p>Please log in.</p>
{% endif %}

模板中的注釋

你可以在模板中使用{# ... #}來添加注釋。

{# 這是一個注釋 #}

模板中的URL反向解析

你可以使用url標簽來生成URL。

<a href="{% url 'view_name' arg %}" rel="external nofollow"  rel="external nofollow" >Link</a>

模板中的靜態(tài)文件

你可以使用static標簽來引用靜態(tài)文件。

<link rel="stylesheet" href="{% static 'css/style.css' %}" rel="external nofollow"  rel="external nofollow" >

模板中的自定義標簽和過濾器

你可以創(chuàng)建自定義標簽和過濾器,并在模板中使用它們。

模板中的模板

你可以在一個模板中包含另一個模板。

{% include "sidebar.html" %}

模板中的轉(zhuǎn)義字符

在模板中,你可以使用{{ variable|escape }}來轉(zhuǎn)義HTML。

模板中的緩存

你可以使用{% cache %}標簽來緩存模板的部分內(nèi)容。

{% cache 500 sidebar %}
    <!-- 緩存的內(nèi)容 -->
{% endcache %}

通過這些基本的用法,你可以創(chuàng)建動態(tài)且功能豐富的Web頁面。

到此這篇關(guān)于Django 中的templates使用詳解的文章就介紹到這了,更多相關(guān)Django templates使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論