gpt4 book ai didi

django - 从 RedirectView 重定向到包含的 URLS

转载 作者:行者123 更新时间:2023-12-01 12:49:47 26 4
gpt4 key购买 nike

假设我在我的 Django 1.6 项目中有这样一个 URL 设置:

urlpatterns = patterns('',
url(r'^some-path/', include('someapp.urls')),
url(r'^$', RedirectView.as_view(url='some-path/', permanent=False)),
)

…但我想改为将“some-path”更改为“changed-path”,并且在这个过程中意识到我已经将它硬编码在一个额外的地方:RedirectView 设置!

是否有正确的方法来做这样的事情,反转到一个包含的 URL 包?

# NOT WORKING! Django ignores `name=` when using `include()`
urlpatterns = patterns('',
url(r'^changed-path/', include('someapp.urls'), name='foo'),
url(r'^$', RedirectView.as_view(pattern_name='foo', permanent=False)),
)

最佳答案

首先,您必须从 someapp 转到您的 urls.py 文件并获取您的基本 url 的名称。让我们假设它是这样的:

# someapp/urls.py
urlpatterns = patterns(
'someapp.views',
url(r'^$', 'your view', name='foo'),
...
)

现在在您的主 urls 文件中,您可以编写如下所有内容:

# WORKING! Because Django likes namespaces 
urlpatterns = patterns('',
url(r'^changed-path/', include('someapp.urls', namespace='bar')),
url(r'^$', RedirectView.as_view(pattern_name='bar:foo', permanent=False)),
)

关于django - 从 RedirectView 重定向到包含的 URLS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25537502/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com