Я играю с django-cms и хочу создать хук приложения к существующему приложению.Это нормально, если страница, которую я выбираю, чтобы отобразить ловушку приложения, не является домашней страницей.
Это мой urls.py для моего приложения, к которому я подключаюсь:
from django.conf.urls.defaults import patterns, include, url
urlpatterns = patterns('films.views',
url(r'^$', 'index'),
url(r'^(?P<film_id>\d+)/$', 'detail'),
)
Cms_app.py выглядит следующим образом:
from cms.app_base import CMSApp
from cms.apphook_pool import apphook_pool
from django.utils.translation import ugettext_lazy as _
class FilmApphook(CMSApp):
name = _("Film Apphook")
urls = ["films.urls"]
apphook_pool.register(FilmApphook)
У меня есть URL-адреса:
/ (<- set to have the slug home, but django-cms doesn't seem to serve it at /home if it's the startpage)
/news
/...
Когда я устанавливаю домашнюю страницу, чтобы иметь app-hook, он отображает индекс моегоfilms.views, купить Я получаю 404, переходя к любым подробным действиям.
Т.е.
/ <- correctly renders films.index
/home <- 404
/home/1 <- 404
/1 <- 404
Если я вместо этого переключаю хук приложения на новости, все работает нормально ((илиесли я сделаю другую страницу домашней страницей).
/news <- correctly renders films.index
/news/1 <- correctly renders films.detail
Кажется, проблема в том, что django-cms игнорирует слаг для стартовой страницы, есть ли способ обойти это?
Вероятно, я должен упомянуть, что я пытался настроить URL перезаписи для обхода этого, и пока / home затем обслуживается, / home / 1 по-прежнему выдает 404.