路由层:(Django的路由系统)
URL配置(Django项目urls.py路由文件):
就像Django所支撑网站的目录,它的本质是URL与要为该URL调用的视图函数之间的映射表。
以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。
urls.py配置基本格式:
from django.conf.urls import url from django.contrib import admin from app01 import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^$', views.index), url(r'^index/', views.index, name='index'), ] url(正则表达式, views视图函数,参数,别名)
相关推荐:《Python视频教程》
参数说明:
正则表达式:一个正则表达式字符串。
views视图函数:一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串。
参数:可选的要传递给视图函数的默认参数(字典形式)。
别名:一个可选的name参数。
正则表达式详解:
from django.conf.urls import url from . import views urlpatterns = [ url(r'^articles/2003/$', views.special_case_2003), url(r'^articles/([0-9]{4})/$', views.year_archive), url(r'^articles/([0-9]{4})/([0-9]{2})/$', views.month_archive), url(r'^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$', views.article_detail), ]
注意事项:
urlpatterns中的元素按照书写顺序从上往下逐一匹配正则表达式,一旦匹配成功则不再继续。
若要从URL中捕获一个值,只需要在它周围放置一对圆括号(分组匹配)。
不需要添加一个前导的反斜杠,因为每个URL 都有。例如,应该是^articles 而不是 ^/articles。
每个正则表达式前面的'r' 是可选的但是建议加上。