django学习--URL Dispatcher
干净的URL非常重要,django对此提供了充分的支持。
django使用URLConf模块匹配请求的URL对应哪个function,URLConf是一个普通的python moudle。
URLConf模块实例(urls.py):
?
from django.conf.urls.defaults import *urlpatterns = patterns('', (r'^articles/2003/$', 'news.views.special_case_2003'), (r'^articles/(\d{4})/$', 'news.views.year_archive'), (r'^articles/(\d{4})/(\d{2})/$', 'news.views.month_archive'), (r'^articles/(\d{4})/(\d{2})/(\d+)/$', 'news.views.article_detail'),)?django对接收到的请求url的路由流程:
?
- 决定使用哪个URLConf模块,默认使用的URLConf为urls.py模块,定义在settings.py中的ROOT_URLCONF中。django加载URLConf模块,并且查找名为urlpatterns对象,该对象是一个list型对象。对urlpatterns遍历并依次匹配,返回第一条匹配的记录返回的记录中包含URL匹配的python view function,django调用此function,并将HttpRequest对象以及其他参数作为函数调用的参数传入?