Django: 路由与视图 互动版

路由算法

当用户请求一个应用页面时,Django使用如下的算法计算路由:

route-algo

1. 创建路由解析器

每当收到一个WSGI服务器的处理请求,Django将首先使用根路由模块创建一个 路由解析器。

将哪个模块设置为根路由模块,通常是由全局配置项ROOT_URLCONF来决定。但 如果进来的HttpRequest对象带有属性urlconf,那么将使用这个属性值指定的 模块作为根路由模块。

2. URL匹配测试

使用用户请求的URL,与路由表中的每一个URL模式进行匹配测试,直到找到第一 个匹配的URL模式。

3. 调用匹配项的视图

Django在调用视图函数时,将传入HttpRequest实例对象和其他附加的参数。

4. 异常处理

如果没有任何URL模式能够匹配用户请求的URL,或者在处理期间发生异常,那么 Django将调用错误处理函数。

1. 查看并运行示例代码,理解路由算法

2. 请将信用卡路由表声明为根路由表,查看运行结果