Я ищу хороший учебник для пространств имен 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')),
Может быть, вы должны быть более конкретными в том, что вы пытаетесь сделать.