我设法为索引创建了一个URL标记。但是现在我很困惑如何添加链接到其他页面。
我把它放在我的 urls.py
上url(r'^$', 'index', name='index'),
接下来我将这个标签放入href:
{% url 'index' %}
但是,如果我想创建一个新页面并将链接到它,该怎么办?我最好怎样做?
答案 0 :(得分:7)
接下来你会扩展你的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' %}
。
答案 1 :(得分:4)
只需使用相同的标签{% url 'index' %}
即可。
您可以使用urls.py中的每个name
链接到网址。
urls.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>
如果你有很多应用,请使用namespace
https://docs.djangoproject.com/en/dev/topics/http/urls/#url-namespaces-and-included-urlconfs
答案 2 :(得分:2)
Django已将urlpatterns更新为采用“路径”而不是使用url,因此它变得更加高效。您不必再使用正则表达式
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>
如果您有多个应用,则可以按以下方式对其进行标记。例如,如果它在“发布”应用程序下:
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>
答案 3 :(得分:0)
以相同的格式创建一个新网址,并提供该名称而不是索引。
例如:
url(r'^$', 'index', name='index'),
url(r'^new/page/$', 'new', name='new_page'),
{% url 'new_page' %}
答案 4 :(得分:0)
示例:
urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
url(r'^about/$', views.about', name='about'),
)
现在,在views.index
呈现的html模板中,您可以拥有:
<a href ="{% url 'about' %}">about</a>