django-cms + grappelli - PullRequest
       18

django-cms + grappelli

10 голосов
/ 09 апреля 2011


Если кто-нибудь знает, как заставить django-cms играть с грапелли, дайте несколько советов

Ответы [ 3 ]

5 голосов
/ 11 апреля 2011

Ну, я только что пережил довольно эпическое приключение, история которого может быть вам полезна.Конечной точкой этого приключения было получение django-cms 2.1.3, работающего с django-filebrowser-no-grappelli .Хотя это может звучать на самом деле как противоположность того, что вы хотите, я оказался там, потому что я действительно хотел, чтобы django-cms работал с filebrowser.Без grappelli, хотя стандартный django-filebrowser не работает должным образом.Но с Grappelli Django-CMS не работает, как ожидалось.Так в этом и кроется загвоздка, чтобы процитировать Шекспира.Работа django-cms с filebrowser была относительно простой, за исключением того факта, что при попытке загрузить файлы с помощью uploadify (которая поставляется вместе с filebrowser) после выбора файлов в диалоговом окне файлов ничего не происходило.В конце концов я понял, что это произошло потому, что библиотека jquery загружалась дважды: один раз - файловым браузером для использования с uploadify и один раз - django-cms.Итак, закомментировав вторую строку в этом файле:

ваш сайт упаковывает dir / cms / templates / cms / toolbar / toolbar.html

, который загружает jquery.min.js, uploadify работает какожидается.Ооооо ... если вы просто хотите, чтобы django-cms работал с grappelli, чтобы вы могли использовать файловый браузер, вышеприведенное может быть полезным. Здесь - это мой файл настроек для справки.

2 голосов
/ 15 октября 2012

Мое решение состоит в том, чтобы реализовать 2 субдомена, 'www' и 'cms', в каждом из которых работает отдельный экземпляр сайта Django с другим STATIC_ROOT и модифицированным INSTALLED_APPS.grappelli работает в поддомене www.Он не работает в поддомене 'cms', поэтому вы можете использовать там django-cms.

  • Установить поддомен: cms.example.com

  • Измените ваш веб-сервер для обслуживания этого поддоменов.Используйте те же настройки, что и на вашем главном сайте django, но укажите на другой обработчик скрипта.Например, если вы используете wsgi, направьте сервер на запуск wsgi_cms.py

  • cp wsgi.py wsgi_cms.py.Отредактируйте wsgi_cms.py и измените строку

    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings") на os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings_cms")

  • settings_cms.py:

:

from settings import *

INSTALLED_APPS.remove('grappelli.dashboard')
INSTALLED_APPS.remove('grappelli')
STATIC_ROOT = os.path.join('/what/ever/static_cms/')
STATIC_URL = '/static_cms/'
ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/`
  • изменить settings.py: изменить INSTALLED_APPS из кортежа в список

  • перезапустить веб-серверы

  • ./manage.py collectstatic --settings=myproject.settings_cms

  • Ваш обычный сайт продолжает работать как обычно.Для редактирования страниц django-cms с отключенной графикой перейдите на http://cms.example.com/admin/cms/page/

0 голосов
/ 09 апреля 2011

Я когда-то сделал django-cms fork на github , который поддерживает grappelli, он немного устарел, но, возможно, поможет вам начать работу или, вероятно, вы захотите внести свой вклад.

...