有谁知道好的Django URL命名空间教程?

时间:2010-01-24 08:45:48

标签: django django-urls

我正在为Django中的URL命名空间寻找一个很好的教程。我发现官方文档有点过于稀疏 - 它缺乏很好的例子。我在堆栈中找到了similar question,但答案并没有帮助我完全理解这个主题。

2 个答案:

答案 0 :(得分:33)

同意,这方面的文件相当令人困惑。这是我对它的阅读(注意:所有代码都是未经测试!):

apps.help.urls

urlpatterns = [
    url(r'^$', 'apps.help.views.index', name='index'),
    ]

在您的主urls.py

urlpatterns = [
    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 %}

应生成网址/help/

{% url otherhelp:index %}

应生成网址/ineedhelp/

{% with current_app as 'otherhelp' %}
    {% url help:index %}
{% endwith %}

同样应该生成网址/ineedhelp/

同样,reverse('help:index')应生成/help/

reverse('otherhelp:index')应生成/ineedhelp/

reverse('help:index', current_app='otherhelp')同样应该生成/ineedhelp/

就像我说的那样,这是基于我对文档的阅读以及我对Django-land中事物的运作方式的熟悉程度。我还没有花时间来测试这个。

答案 1 :(得分:0)

这是来自文档

(r'^help/', include('apps.help.urls', namespace='foo', app_name='bar')),

也许你应该更具体地了解你想要做什么。