Страницы Django-CMS 2.4 с SITE_ID 2 найдены, только если вы вошли в систему

У меня есть два сайта, использующих Django-CMS. Они используют один и тот же код и ту же базу данных, с SITE_ID отличая их.

На сайте с SITE_ID = 1, Все хорошо.

На сайте с SITE_ID = 2некоторые страницы, которые я публикую (используя панель администратора), можно увидеть только на сайте, если вы вошли в систему. В противном случае они выдают ошибку 404 с таким сообщением, как

CMS: Page not found for "test"

Другие страницы в порядке - в частности, домашняя страница и страницы с apphooks.

Если я установлю DEBUG = FalseЯ получаю 404 ошибки на всех страницах моего сайта!

Это происходит как в Prod, так и на моем сервере разработки. На самом деле это происходит даже на полностью ванильном тестовом сайте, который я только что создал.

Я не выбрал "требуется логин" ни для одной из страниц.

Как я могу сделать страницы видимыми для всех?

Информация о версии: Я использую Django-CMS 2.4.1 и Django 1.5.1. Я также обновил их до mptt 0.5.5, хотя Django-CMS специально устанавливает только mptt 0.5.2 (см. Этот пост, почему). Однако, когда я переустановил mptt 0.5.2 на моем dev-сервере, проблема осталась.

2 ответа

Решение

Я поднял это как проблему, и теперь есть ответ - это 'public': False строка в этом коде:

CMS_LANGUAGES = {
    1: [
        {
            'code': 'en',
            'name': gettext('English'),
            'public': True,
        },
    ],
    'default': {
        'fallbacks': ['en',],
        'public': False,
        }
}

Ключ "1" является SITE_IDТаким образом, вышесказанное говорит, чтобы скрыть все сайты после номера 1 от общественности.

Таким образом, решение состоит в том, чтобы добавить запись, отключенную SITE_ID 2 в CMS_LANGUAGES установка.

Я думаю, что вам нужно сначала взглянуть на настройку ALLOWED_HOSTS ( https://docs.djangoproject.com/en/1.5/ref/settings/). Это очень вероятно, причина, по которой вы получаете ошибки при отключении DEBUG. (хотя я думал, что отсутствие допустимого ALLOWED_HOSTS приведет к 500 ошибкам, а не к 404).

Другие вопросы по тегам