gpt4 book ai didi

python - 如何在包含 URL 的 Django 中使用 reverse()?

转载 作者:太空宇宙 更新时间:2023-11-04 01:09:19 25 4
gpt4 key购买 nike

我的 urls.py 大致如下所示:

...
url(r'^advance-day/$', 'mafia.views.advance_day', name='advance_day'),
url(r'^form/', include(form_urls)),
...

我最近将表单 URL 移到一个单独的 form_urls.py 中,因为有很多表单,我不想让它们挡路。但是,我无法弄清楚如何在不使用 View 的整个名称的情况下对它们使用 django.core.urlresolvers.reverse() 。例如,我可以执行 reverse(mafia.views.investigation_form),但我更希望能够执行 reverse(form_urls:investigation) 或其他操作。

我在模板中也有同样的问题。在我将 {% url sign_up %} 的每个实例转换为 {% url mafia.views.sign_up %} 等之前。我想尝试使用名称进行此操作仍然。有办法吗?

最佳答案

您遇到的问题由namespacing of url patterns解决:

首先,为包含的 url 添加 namespace 参数到您的主 urls.py:

url(r'form/', include(form_urls, namespace='forms')),

假设您在 form_urls 中有以下内容:

url(r'my-form/$', 'mafia.views.my_form', name='my_form'),

然后您可以使用 {% urls forms:my_form %} 反转它。

关于python - 如何在包含 URL 的 Django 中使用 reverse()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28654389/

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