Я ищу хороший учебник для пространств имен URL в Django. Я считаю, что официальная документация слишком скудна - ей не хватает хороших примеров. Я нашел аналогичный вопрос здесь, в стеке, но ответы не помогли мне полностью понять предмет.
Кто-нибудь знает хороший учебник по URL-адресам Django?
Ответ 1
Согласовано, документы для этого довольно запутывают. Здесь мое чтение (NB: весь код не проверен!):
В 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 %}
должен указывать 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. Я не нашел времени, чтобы проверить это.
Ответ 2
Это из документов
(r'^help/', include('apps.help.urls', namespace='foo', app_name='bar')),
Может быть, вы должны быть более конкретными в том, что вы пытаетесь сделать.