Django Url Dispatcher正则表达式

时间:2013-09-27 16:00:28

标签: python regex django url

我希望SOMETHING不是强制性的,所以基本上我希望www.site.com/endpoint自动重定向到www.site.com/something/endpoint。我有办法在一条线上做到吗?

现在我正在做:

url(r'^SOMETHING/endpoint$', 'endpoint', name='endpoint'),
url(r'^endpoint$', RedirectView.as_view(url='SOMETHING/endpoint')),

干杯。

2 个答案:

答案 0 :(得分:1)

我相信你要求让任何以“端点”结尾的网址重定向。

要完成此更改,请将您的重定向网址正则表达式更改为r"endpoint$"。正则表达式中的插入符操作符基本上是从字符串的开头说的。

此正则表达式将匹配以“端点”结尾的任何URL,例如。 foo/endpointbar/endpoint

答案 1 :(得分:1)

为什么要在一条线上执行此操作?您谈论的是两个不同的URL,它们执行两个不同的操作 - 一个是执行HTTP重定向,另一个是渲染视图。两条线是正确的方法。

编写更广泛的正则表达式以覆盖这两个URL将允许您对两者使用相同的视图,但不会导致重定向(即,它不会将URL更改为SOMETHING/endpoint)。