0

我已经学习 Django 有一段时间了。我遇到了 url reverse,理解了大部分内容,但无法理解命名空间:

1. How is it useful ?
2. How to use it ?

它的记录很差,我还没有找到任何像样的文章。:(


也有人可以解释如何反转包含的网址吗?

4

1 回答 1

1

我在这里找到了一个很好的解决方案 有人知道好的 Django URL 命名空间教程吗?

免责声明:这是 David Eyk 在上述链接上写的

同意,这方面的文档相当混乱。这是我对它的阅读(注意:所有代码都未经测试!):

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 中的工作方式的现有熟悉程度。我没有花时间测试这个。

于 2013-07-19T13:26:57.087 回答