如果有人知道如何使用grappelli制作django-cms,请提供一些提示
答案 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,它有点过时了,但也许可以帮助你开始或者你想要贡献。