Ошибка приложения django-cms на главной странице - PullRequest
0 голосов
/ 04 февраля 2012

Я играю с 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.

Ответы [ 2 ]

1 голос
/ 04 февраля 2012

Это немного хитрый обходной путь, но я могу жить с этим на сегодня. Я в основном добавляю дочернюю страницу в / home с именем / films, следя за тем, чтобы она не была в навигации, и добавляю также хук приложений.

Страница home / fake-child не имеет собственного содержимого, поэтому я могу с этим смириться, и у меня остались URL-адреса, которые я хочу.

/ <- films.views.index
/films/1 <- films.views.details/1
0 голосов
/ 04 февраля 2012

Это может быть ошибка в вашей версии django-cms:

https://github.com/divio/django-cms/issues/47

...