如何在django中创建“all-others”url模式?

时间:2013-08-18 13:16:51

标签: django django-urls

在我的django网站中,我有四个视图:index,foo,bar和backstop。

如果我被要求输入/ url,我想使用索引视图

如果我得到像/ foo / 123这样的网址,我想使用foo视图。

如果我得到像/ bar / 123这样的网址,我想使用条形图。

如果我得到任何其他网址,我想调用backstop视图。 (所以它可以是/ backstop,/ baz / 123,/ some / other / path,/ zipidee / doo / dah /)

我尝试了一些变体:

url ('/foo', 'myapp.views.foo'),
url ('/bar', 'myapp.views.bar'),
url ('/', 'myapp.views.index),
url ('.*', 'myapp.views.backstop')

但我似乎最终获得了所有内容的索引,或者所有内容的后备。

有人必须在此之前做到这一点......

1 个答案:

答案 0 :(得分:1)

/匹配每个网址,因为每个网址至少包含/

请尝试以下操作:

url ('foo', 'myapp.views.foo'),
url ('bar', 'myapp.views.bar'),
url ('^$', 'myapp.views.index'),
url ('', 'myapp.views.backstop')