我已经学习 Django 有一段时间了。我遇到了 url reverse,理解了大部分内容,但无法理解命名空间:
1. How is it useful ?
2. How to use it ?
它的记录很差,我还没有找到任何像样的文章。:(
也有人可以解释如何反转包含的网址吗?
我已经学习 Django 有一段时间了。我遇到了 url reverse,理解了大部分内容,但无法理解命名空间:
1. How is it useful ?
2. How to use it ?
它的记录很差,我还没有找到任何像样的文章。:(
也有人可以解释如何反转包含的网址吗?
我在这里找到了一个很好的解决方案 有人知道好的 Django URL 命名空间教程吗?
同意,这方面的文档相当混乱。这是我对它的阅读(注意:所有代码都未经测试!):
在apps.help.urls
:
urlpatterns = patterns(
'',
url(r'^$', 'apps.help.views.index', name='index'),
)
在你的主要urls.py
:
urlpatterns = patterns(
'',
url(r'^help/', include('apps.help.urls', namespace='help', app_name='help')),
url(r'^ineedhelp/', include('apps.help.urls', namespace='otherhelp', app_name='help')),
)
在您的模板中:
{% url help:index %}
应该产生 url /help/
。
{% url otherhelp:index %}
应该产生 url /ineedhelp/
。
{% with current_app as 'otherhelp' %}
{% url help:index %}
{% endwith %}
应该同样产生 url /ineedhelp/
。
同样,reverse('help:index')
应该产生/help/
.
reverse('otherhelp:index')
应该产生/ineedhelp/
.
reverse('help:index', current_app='otherhelp')
应该同样产生/ineedhelp/
。
就像我说的,这是基于我对文档的阅读以及我对 Django-land 中的工作方式的现有熟悉程度。我没有花时间测试这个。