2016-11-20 2 views
1

Схожий вопрос ответил here.Обратный URL-адрес в многоразовом приложении, которое потребляется в виде вложенного приложения

Мое положение немного другое. Я создал многоразовое приложение под названием «категории». В моем проекте у меня есть приложение под названием «приборная панель». Приложение панели инструментов включает многоразовое приложение «категории». Это приводит к тому, следующий будет использоваться для обратного URL-адрес

reverse('dashboard:categories:browse') 

Однако мое многоразовые приложение не имеет никакого знания «приборной панели» пространства имен. Я хочу иметь возможность использовать решение, которое я связал выше, чтобы отменить только следующее в приложении многократно используемых категорий.

reverse('categories:browse') 

В настоящее время установка app_name в категории.курсы не работают. Я получаю NoReverseMatch при обращении в категорию «категории: просмотр».

Вот выдержки из того, как приложения включены в файлы urls.py.

# myproject/urls.py 
url(
    r'^dashboard/', 
    include(
     'dashboard.urls', 
     namespace='dashboard', 
    ) 
), 


# dashboard/urls.py 
url(
    r'^categories/', 
    include(
     'categories.urls', 
     namespace="categories", 
    ), 
), 
+0

Можете добавить содержимое 'urls.py'. –

+0

без проблем, только что обновленный. – pymarco

ответ

1

Вы можете включить categories URLs в главном urls.py непосредственно:

# myproject/urls.py 
url(r'^dashboard/categories/', include('categories.urls', namespace='categories')), 
url(r'^dashboard/', include('dashboard.urls', namespace='dashboard')), 

Таким образом, ваши categories URLs не во вложенном пространстве имен, и вы можете просто использовать reverse('categories:browse').

+0

Это работает, спасибо! Наверное, я предпочел бы, чтобы все было аккуратно спрятано в приложении приборной панели. Но я рад, что у меня есть рабочее решение. – pymarco

 Смежные вопросы

  • Нет связанных вопросов^_^