一 超链接目标地址
-
href后面是目标地址
-
template中可以用"{% url 'app_name:url_name' param %}"
-
其中app_name和url_name都是在url中配置
二 url函数的名称参数
-
根urls下,写在include()的第二个参数位置,namespace = 'blog'
-
应用下则写在url()的第三个参数位置,name='article'
-
取决于是否使用了include引用另一个url配置文件
三 实战
1 根urls.py配置
# -*- coding: utf-8 -*-
from django.conf.urls import url,include
from django.contrib import admin
#import blog.views as bv
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^blog/', include('blog.urls',namespace='blog')),
url(r'^blog2/', include('blog2.urls')),
]
2 应用urls.py配置
from django.conf.urls import url,include
from . import views
urlpatterns = [
url(r'^index/$', views.index),
url(r'^article/(?P<article_id>[0-9]+)$', views.article_page,name='article_page'),
]
3 模板超链接配置
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>
<a href="">新文章</a>
</h1>
{% for article in articles %}
<a href="{% url 'blog:article_page' article.id %}">{{ article.title }}</a>
<br/>
{% endfor %}
</body>
</html>
四 运行效果
1 浏览器输入http://localhost:8000/blog/index/
2 点击我的第一篇文章