Как я могу убедиться, что Django CMS инициализирует URL-адреса приложений? - PullRequest
0 голосов
/ 29 июня 2019

Я пытаюсь загрузить приложение Django CMS. Все хуки приложений правильно настроены и зарегистрированы. Для примера возьмем NewsHook:

class NewsHook(CMSApp):
    """ A class to hook the News into the django cms
    """
    name = ("News")
    urls = ["apps.news.urls"]


apphook_pool.register(NewsHook)

urls.py этого крючка включает в себя следующее:

urlpatterns = [
    # /feed/
    url(r'^feed/$', ArticlesFeed(), name='news_feed'),
]

И urls.py проекта (в папке settings) содержит следующие соответствующие строки:

admin.autodiscover()

urlpatterns = patterns(
    '',
    ...
    # / -> Django CMS
    url(r'^', include('cms.urls')),
)

Все это выглядит нормально, верно? Но когда я захожу на домашнюю страницу, я получаю NoReverseMatch ошибку:

enter image description here

Не уверен, что я делаю неправильно ... Есть ли сторона этого, которую я не вижу? Кстати, это приложение хорошо работает на производстве, поэтому, насколько я вижу, в нем нет ошибок.

Мои характеристики

  • Django версия: 1.8.13
  • Django CMS версия: 3.3.0
  • Python версия: 2.7.

1 Ответ

0 голосов
/ 01 июля 2019

Я обнаружил, что эти приложения Django CMS необходимо прикрепить к странице, чтобы добавить URL-адреса в проект. Я загрузил таблицу страниц из производства, и URL-адреса начали функционировать.

Сделать URL-адреса зависимыми от наличия страницы для меня действительно нелогично, если исходить из Rails.

...