Djang中链接页面的最佳方式

2024-09-29 19:26:06 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

url(r'^$', 'index', name='index'),

接下来,我将这个标签放入到了

{% url 'index' %}

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


Tags: namepy标记urlindex链接页面标签
3条回答

Django已经更新了urlpatterns以采用“path”而不是使用url,因此它变得更加高效。你不必再使用regex了

from django.urls import path
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>

如果您有多个应用程序,可以按如下方式对其进行标记。例如,如果这是在“post”应用程序下:

app_name = 'post'
urlpatterns=[
    path('', views.index , name='index'),
    path('blog/', views.blog , name='blog'),]

在模板中,执行以下操作:

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

只需使用相同的标签{% url 'index' %}。 您可以使用url.py中的每个name链接到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>

如果您有许多应用程序,请使用namespacehttps://docs.djangoproject.com/en/dev/topics/http/urls/#url-namespaces-and-included-urlconfs

因此,接下来您可以将urls.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 'index' %}

相关问题 更多 >

    热门问题