一、Django处理一个请求的过程
Django处理一个请求的过程如下:
- Django使用的是根URLconif模块,这个值通常通过ROOT_URLCONF设置:url到视图函数的映射关系(在.../settings.py文件中)
- Django加载URLconf模块(urls.py),并寻找可用的urlpatterns,匹配规则参考二
- Django依次匹配每个URL模式,在与请求的URL匹配的第一个模式处停下来
- 一旦其中一个正则表达式匹配上,则Django将请求指向对应的视图函数处理
- 如果没有匹配到,则过程中抛出一个异常,则Django将调用一个适当的错误处理视图
二、正则表达式匹配
urls.py文件示例如下:
r'^index/$' | |
匹配符 | 含义 |
r | 字符串前面加"r"是为了防止字符串中出现类似“ ”字符串时被转义 |
^ | 匹配字符串的开头;在多行模式中匹配每一行的开头,如^abc匹配的abcdd |
$ | 匹配字符串末尾;在多行模式中匹配每一行末尾,如abc$,匹配的efgabc |