django如何处理request

当用户请求页面时,系统的算法会选择哪一个python代码会被执行:

1、检查root URLconf模块,一般来说,这个值是ROOT_URLCONF设置,但是如果HttpRequest对象有一个叫做urlconf的属性(通过request processing这个中间件进行设置),这个值就会替代ROOT_URLCONF的设置。
2、Django加载那个python模块,并且查找urlpatterns这个变量,这个变量是一个python list,遵循函数django.conf.urls.patterns()返回的格式。
3、Django按顺序执行每一条URL pattern,然后在第一条与请求的url相匹配的记录处停下。
4、一旦某一个正则表达式匹配了,Django imports并且调用所给定的view(一个简单的python函数)。这个view将HttpRequest作为它的第一个参数,然后从正则表达式中捕获的其他值作为剩下的参数。
5、如果没有表达式被匹配,或者在任何环节由异常被出发,django将出发一个适当的错误处理视图(error-handling view)
当然,也可以使用python的制定参数名的方式。
内容来自官方文档