介绍
URLconf 就像是 Django 所支撑网站的目录。 它的本质是 URL 模式以及要为该 URL 模式调用的视图函数之间的映射表。 利用Django开发网站,可以设计出非常优美的url规则,如果url的匹配规则(包含正则表达式)组织得比较好,view的结构就会比较清晰,比较容易维护。
基本形式
URLconf存放的映射关系在Python文件里,这个文件中必须暴露出一个urlpatterns对象,这个对象则应该是Django定义patterns函数的结果。这个函数由以下两部分组成:
@前缀字符串,可以为空。(如果第一个参数非空的话,就会被加到函数字符串之前)
@一个或若干url方法,他接受三个参数:正则表达式、视图函数对象或字符串和一个可选字典参数.。(以前的老版本是一个或若干元组,元组包含正则表达式、视图函数对象或字符串、可选的视图函数字典参数)
带url方法的形式
- from django.conf.urls import patterns, url
- urlpatterns = patterns('',
- url(r'^articles/2003/$', 'news.views.special_case_2003'),
- url(r'^articles/(\d{4})/$', 'news.views.year_archive'),
- url(r'^articles/(\d{4})/(\d{2})/$', 'news.views.month_archive'),
- url(r'^articles/(\d{4})/(\d{2})/(\d+)/$', 'news.views.article_detail'),
- )
对应的元组的形式
- from django.conf.urls import patterns, url
- urlpatterns = patterns('',
- (r'^articles/2003/$', 'news.views.special_case_2003'),
- (r'^articles/(\d{4})/$', 'news.views.year_archive'),
- (r'^articles/(\d{4})/(\d{2})/$'