我希望某些东西是非强制性的,所以基本上我想自动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')),
干杯。
我相信您要求让任何以“端点”结尾的网址重定向。
要完成此操作,请将您的重定向 url 正则表达式更改为r"endpoint$"
. 正则表达式中的插入符运算符本质上是从字符串的开头开始的。
此正则表达式将匹配以“endpoint”结尾的任何 url,例如。foo/endpoint
,bar/endpoint
为什么要在一行上执行此操作?你说的是两个不同的 URL,它们做两件不同的事情——一个是做 HTTP 重定向,另一个是渲染视图。两条线是正确的方法。
编写一个更广泛的正则表达式来覆盖两个 URL 将允许您对两个 URL 使用相同的视图,但不会导致重定向(也就是说,它不会将 URL 更改为SOMETHING/endpoint
)。