天天看点

Django的url用法

利用django开发网站,可以设计出非常优美的url规则,如果url的匹配规则(包含正则表达式)组织得比较好,view的结构就会比较清晰,比较容易维护。

最简单的形式

其中,正则表达式中组匹配出来的结果可以作为positional parameters传递给view.

如果url是www.yourdomain/articles/2005/,则会匹配第二条规则,执行news.views.year_archive(‘2005‘).

注意点

域名部分会被过滤掉

articles的前面不需要添加/,因为前序url的末尾一定会有/

任何组匹配的变量,都会议字符串的形式传递给view, 虽然通过<code>(\d{4})匹配出了</code>2005,但2005任然会被当做字符串传递给<code>year_archive</code>

利用named group来传递参数

可以通过以下形式为特定的组指定一个名称.

这样的话,组的匹配结果会通过keyword parameters的形式传递给view.例如<code>year_archive(year=‘2005‘)</code>

<code></code>

利用named group可以为view指定一个默认参数来匹配多条规则。

指定view前缀(提取公因式)

patterns函数的第一个参数即是view的前缀

指定多个view前缀

include其它匹配模块

当然也可以直接include其它patterns

为view函数传递额外参数

直接使用view函数

需要继续研究:

参考文献: