url – Django 模板标签
Django 模板是使用 Django 模板语言标记的文本文档或Python字符串。 Django 是一个强大的包含电池的框架,为在模板中呈现数据提供了便利。 Django 模板不仅允许将数据从视图传递到模板,而且还提供了一些有限的编程功能,例如变量、for 循环、注释、扩展、url 等。
本文围绕如何在模板中使用url 标签展开。 url
标记返回与给定视图和可选参数匹配的绝对路径引用(没有域名的 URL)。这是一种在不违反 DRY 原则的情况下输出链接的方法,因为它必须在模板中对 URL 进行硬编码:
句法
{% url 'some-url-name' v1 v2 %}
第一个参数是 URL 模式名称。它可以是带引号的字面量或任何其他上下文变量。附加参数是可选的,并且应该是空格分隔的值,将用作 URL 中的参数。
例子
{% url 'template1' %}
url – Django 模板标签说明
使用示例说明如何在 Django 模板中使用 url 标签。考虑一个名为geeks
的项目,它有一个名为geeksforgeeks
的应用程序。
Refer to the following articles to check how to create a project and an app in Django.
- How to Create a Basic Project using MVT in Django?
- How to Create an App in Django ?
现在创建两个视图,我们将通过它们访问模板,
在geeks/views.py
中,
# import Http Response from django
from django.shortcuts import render
# create a function
def geeks_view(request):
# return response
return render(request, "geeks.html")
def nav_view(request):
# return response
return render(request, "nav.html")
创建一个 url 路径以映射到此视图。 URL 需要有一个名称,然后可以在模板中使用并带有url 标签。在geeks/urls.py
中,
from django.urls import path
# importing views from views..py
from .views import geeks_view, nav_view
urlpatterns = [
path('1/', geeks_view, name = "template1"),
path('2/', nav_view, name = "template2"),
]
现在我们将创建两个模板来演示now 标签。在geeks.html
中创建一个模板,
Template 1
Go to template 2
在geeks.html
中创建一个模板,
<Template 2
Go to template 1
现在访问http://127.0.0.1:8000/1,
单击链接,它将重定向到其他 url。
高级用法
假设您有一个视图app_views.client ,其 URLconf 采用客户端 ID(这里,client() 是视图文件 app_views.py 中的一个方法)。 URLconf 行可能如下所示:
path('client//', app_views.client, name='app-views-client')
如果此应用的 URLconf 包含在项目的 URLconf 中,则路径如下:
path('clients/', include('project_name.app_name.urls'))
…然后,在模板中,您可以创建指向此视图的链接,如下所示:
{% url 'app-views-client' client.id %}
模板标签将输出字符串/clients/client/123/。
在评论中写代码?请使用 ide.geeksforgeeks.org,生成链接并在此处分享链接。