django-cms + grappelli

时间:2011-04-09 12:22:21

标签: django integration django-cms django-grappelli


如果有人知道如何使用grappelli制作django-cms,请提供一些提示

3 个答案:

答案 0 :(得分:5)

嗯,我刚刚经历了一场相当史诗般的冒险,其中的故事可能会对你有所帮助。所述冒险的终点是让django-cms 2.1.3与django-filebrowser-no-grappelli一起工作。虽然听起来可能听起来与你想要的相反,但我最终还是因为我真正想要的是让django-cms与filebrowser一起工作。没有grappelli虽然标准的django-filebrowser不能按预期工作。但是对于grappelli django-cms并没有按预期工作。引用莎士比亚的话就是这样的。让django-cms与filebrowser一起工作是比较直接的,除了当尝试使用uploadify上传文件(随文件浏览器一起提供)时,在文件对话框中选择文件后,没有任何反应。最终我发现这是因为jquery库被加载了两次:一次是filebrowser用于uploadify,一次是用django-cms。所以通过注释掉这个文件中的第二行:

您的网站包dir / cms / templates / cms / toolbar / toolbar.html

加载jquery.min.js,uploadify按预期工作。 Soooo ...如果你只是想让django-cms与grappelli一起工作,那么你可以使用filebrowser,上面的内容可能会有所帮助。 Here是我的设置文件供参考。

答案 1 :(得分:2)

我的解决方案是实现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

  • 您的常规网站正常继续。要在禁用grappelli的情况下编辑django-cms页面,请转到http://cms.example.com/admin/cms/page/

答案 2 :(得分:0)

我曾经做过一个支持grappelli的django-cms fork on github,它有点过时了,但也许可以帮助你开始或者你想要贡献。