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

2024-09-27 04:30:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我的网址.py大致如下:

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

最近,我将表单URL移到了一个单独的form_urls.py,因为有很多表单,我不想让它们碍事。但是,如果不使用视图的全名,我就无法在它们上使用django.core.urlresolvers.reverse()。例如,我可以做reverse(mafia.views.investigation_form),但我更喜欢做reverse(form_urls:investigation)之类的事情。你知道吗

我也有同样的问题,在模板。在我将{% url sign_up %}的每个实例转换成{% url mafia.views.sign_up %}等之前,我仍然想尝试使用名称。有办法吗?你知道吗


Tags: namepyformurl表单urlsviewsreverse
1条回答
网友
1楼 · 发布于 2024-09-27 04:30:12

您面临的问题可以通过namespacing of url patterns解决:

首先,为包含的URL向主控urls.py添加一个namespace参数:

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 %}反转它。你知道吗

相关问题 更多 >

    热门问题