美文网首页程序员WEB前端程序开发我的Python自学之路
Django第六课:Django模板中的超链接配置

Django第六课:Django模板中的超链接配置

作者: 海深不蓝_ | 来源:发表于2017-02-02 20:58 被阅读2728次

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了。

相关文章

网友评论

    本文标题:Django第六课:Django模板中的超链接配置

    本文链接:https://www.haomeiwen.com/subject/vwurittx.html