Django 官方教程翻译项目上面的代码将 URL 的正则表达式映射到 views 里的回调函数。正则表达式通过括号来提取 URL 中的参数值。当一个用户请求页面时,Django 会顺序遍历这些匹配模式,直至模式和请求的 URL 成功匹配。(如果全部模式都无法匹配,Django 会返回一个404视图。)这个过程会在瞬间完成, 因为这些正则表达式在启动时就被编译了。 一旦其中一个正则表达式匹配成功,Django 就会导入并调用指定的视图——那是一个简单的 就会导入并调用指定的视图——那是一个简单的 Python 函数。视图会被传进一个请求(requeset)对象——其中包含了请求元数据——和正则表达式匹配到的 那些参数值。 比如,如果用户请求了“/articles/2005/05/39323/”这样的 URL,Django 就会这样调用函 数:news.views.article_detail(request, ‘2005’, ‘05’, ‘39323’)。 名字。在这点上,值得再看下这些参数到底是干什么的。 术语 “regex” 是正则表达式 “regular expression” 的缩写,是匹配字符串的一段语法,像这 里例子的是 url 匹配模式。Django 从列表的第一个正则表达式开始,按顺序匹配请求的 URL,直 到找到与之匹配的。 注意,这些正则表达式不会去匹配 GET 和 POST 请求的参数值,或者域名。比如 https://www0 码力 | 103 页 | 1.86 MB | 1 年前3
共 1 条
- 1













