2

在我的 URLs.py 中,我正在这样设置我的 URL

url(r'^mobile/$', views.mobile, name='mobile')

导航到localhost:8000/mobile按预期工作,但如果输入 URL:localhost:8000/mobile/hello/world/234234hjhf8sc3它应该重定向到localhost:8000/mobile 但是这不会发生,因为我的正则表达式不正确(我不确定)

我怎么能这样做/正确的正则表达式是什么?

另一个例子是localhost:8000/mobile/send/help/as792lp应该重定向到 localhost:8000/mobile

4

1 回答 1

3

您可以使用RedirectView[Django-doc]将任何以 a 开头的 URL 重定向mobile/mobile视图:

from django.urls import reverse_lazy
from django.views.generic.base import RedirectView

url(r'^mobile/$', views.mobile, name='mobile')
url(r'^mobile/.+$', RedirectView.as_view(url=reverse_lazy('mobile')))

注意:从开始,不推荐使用url(…)[Django-doc]以支持re_path(…)[Django-doc]。此外,路径转换器还引入了一种新的路径语法:为此,您可以使用path(…)[Django-doc]

于 2021-08-19T06:17:02.490 回答