干净的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对象以及其他参数作为函数调用的参数传入
本文深入探讨了Django框架中URL配置模块的作用及其内部实现机制,详细解释了如何通过URLConf模块匹配请求URL,进而决定调用相应的Python视图函数。包括对默认URLConf模块的选择、URL匹配过程及最终调用视图函数的过程进行了全面解析。
1460

被折叠的 条评论
为什么被折叠?



