Python 在Django中链接到页面的最佳方式

Python 在Django中链接到页面的最佳方式,python,django,Python,Django,我设法为我的索引创建了一个URL标记。但现在我不知道如何添加到其他页面的链接 我把这个放在我的url.py上 url(r'^$', 'index', name='index'), 接下来,我将此标签放入href: {% url 'index' %} 但是如果我想创建一个新页面并链接到它呢。我如何才能做到最好?以相同的格式创建一个新的URL,并使用该名称而不是索引 例如: 只需使用相同的标签{%url'索引“%}。 您可以使用url.py中的每个名称链接到url url.py url(r'^a

我设法为我的索引创建了一个URL标记。但现在我不知道如何添加到其他页面的链接

我把这个放在我的url.py上

url(r'^$', 'index', name='index'),
接下来,我将此标签放入href:

{% url 'index' %}

但是如果我想创建一个新页面并链接到它呢。我如何才能做到最好?

以相同的格式创建一个新的URL,并使用该名称而不是索引

例如:


只需使用相同的标签
{%url'索引“%}
。 您可以使用url.py中的每个
名称
链接到url

url.py

url(r'^archive/$', 'mysite.views.archive',name='archive'),
url(r'^about/$', 'mysite.views.about',name='about'),
url(r'^contact/$', 'mysite.views.contact',name='contact'),
模板

<a href="{% url 'about' %}">About</a>
<a href="{% url 'contact' %}">Contact</a>

如果您有许多应用程序,请使用
名称空间

因此,接下来您将扩展
url.py
,使其看起来像这样:

url(r'^$', 'index', name='index'),
url(r'^blog$', 'blog', name='blog'),
然后在html中,您可以使用以下任一选项:

<a href="{% url 'index' %}">Home</a>
<a href="{% url 'blog' %}">Blog</a>

当然,您可以根据需要在任何模板中多次使用模板tage
{%url'索引“%}

示例:

urlpatterns = patterns('',
                       url(r'^$', views.index, name='index'),
                       url(r'^about/$', views.about', name='about'),
)
现在,在您的
视图.index所呈现的html模板中,您可以有:

<a href ="{% url 'about' %}">about</a>

Django已经更新了urlpatterns,使其采用“路径”而不是使用url,因此它变得更加高效。你不必再使用正则表达式了

from django.urls import path
from . import views

urlpatterns=[
    path('', views.index , name='index'),
    path('blog/', views.blog , name='blog'),]
然后在模板中,可以使用模板标记

<a href="{% url 'index' %}">Index</a>
<a href="{% url 'blog' %}">Blog</a>
在项目url.py中:

from django.urls import path, include

urlpatterns=[
path('post/', include('post.urls'),]
在模板中,您可以执行以下操作:

<a href="{% url 'post:index' %}">Index</a>
<a href="{% url 'post:blog' %}">Blog</a>

因此我们可以直接使用页面名称
from django.urls import path, include

urlpatterns=[
path('post/', include('post.urls'),]
<a href="{% url 'post:index' %}">Index</a>
<a href="{% url 'post:blog' %}">Blog</a>