django第一課:創(chuàng)建第一個頁面
Django第二課:創(chuàng)建第一個頁面(響應)竖般,template
Django第三課:models
Django第四課:Admain簡介
Django第五課:博客主頁面開發(fā)
在之前的文章里我們已經完成了一個博客的基本骨架虽惭,可是我們的超鏈接都是無效的,現(xiàn)在我們就要給它們配置URL。
關于模板中"href"后URL的寫法攒射,django比較特殊蜡励,可以用{% url 'app_name:url_name' param %}
,app_name是應用的命名空間的名稱,url_name是目標的地址中捆,param是地址的參數(shù)漂彤。
app_name和url_name都在url中配置雾消,url函數(shù)的名稱參數(shù)有兩種寫法灾搏,一個寫在根urls.py的include()的第二個參數(shù)位置,namespace='blog'
立润,另一種是在應用下寫在url()的第三個參數(shù)的位置狂窑,name = 'article'
,選擇的依據是否使用include引用了另一個url配置文件。
話不多說上代碼:
#根目錄的urls.py
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^blog/',include('blog.urls',namespace='blog')),
]
#應用中的urls.py
urlpatterns = [
url(r'^$',views.index),
url(r'^article/(?P<article_id>[0-9]+)$',views.article_page,name='article_page'),
]
index.html中
<body>
<h1><a href="">新文章</a></h1>
{% for article in articles %}
<a href="{% url 'blog:article_page' article.id %}">{{ article.title }}</a>
<br/>
{% endfor %}
這樣主頁到文章頁的鏈接就OK了范删。