urlpatterns = [
url(正则表达式, views视图函数,参数,别名),
]
匹配
1、完全匹配
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^showtime/', views.showtime),
url(r'^blog/', include('blog.urls')),
url(r'^login',views.login),
]
2、匹配指定位数数字
url(r'article/\d{4}',views.article_year), #匹配4位数字
获取参数
1、无名分组()获得参数
url(r'article/(\d{4})',views.article_year), #匹配4位数字
在视图函数中 增加形参year接受参数
def article_year(request, year):
return HttpResponse(year)
获得多个参数
url(r'article/(\d{4})/(\d{2})',views.article_year_month), #两个参数
def article_year_month(request, year, month):
return HttpResponse(year+month)
2、有名分组(?P<Name>)获得参数
url(r'article/(?P<year>\d{4})/(?P<month>\d{2})',views.article_year_month), #两个参数:year,month
def article_year_month(request, year, month): #这里的形参名必须与有名分组时相同
return HttpResponse(year+month)
别名
name参数设置别名
url(r'^login',views.login,name="login"),
html模版中 标签 {% url "login" %} 可以获得login的url
<div><a href="{% url "login" %}"></a></div>
模版中使用别名,则不管urls.py中视图的url如何修改,模版都不需同步修改。
urls分发
分发url : *****/blog/article/2023 到blog应用下的urls路由:
from django.conf.urls import include #引入 include模块
...
url(r'^blog/', include('blog.urls')), # ip/blog/...的url分发到blog下的urls.py中
...
在blog应用目录下创建urls.py文件,
from blog import views
urlpatterns = [
url(r'article/(\d{4})',views.article_year), #匹配4位数字
]
这样,在/blog/urls.py中即可处理/blog/....的url
标签:views,url,控制系统,Django,blog,urls,year,article From: https://www.cnblogs.com/zhlforhe/p/18013506