django第一课:创建第一个页面
Django第二课:创建第一个页面(响应),template
Django第三课:models
Django第四课:Admain简介
Django第五课:博客主页面开发
在之前的文章里我们已经完成了一个博客的基本骨架,可是我们的超链接都是无效的,现在我们就要给它们配置URL。
关于模板中"href"后URL的写法,django比较特殊,可以用{% url 'app_name:url_name' param %}
,app_name是应用的命名空间的名称,url_name是目标的地址,param是地址的参数。
app_name和url_name都在url中配置,url函数的名称参数有两种写法,一个写在根urls.py的include()的第二个参数位置,namespace='blog'
,另一种是在应用下写在url()的第三个参数的位置,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了。
网友评论