【问题标题】:Django-CMS with Grappelli messed up the layout for admin cms pages带有 Grappelli 的 Django-CMS 弄乱了管理 cms 页面的布局
【发布时间】:2023-09-07 12:48:01
【问题描述】:

我刚刚按照标准例程将 grappelli 安装到 Django-CMS 站点 - pip install django-grappelli,将其添加到 INSTALLED_APPS,添加 url 模式,然后添加 syncdbcollectstatic。然而,尽管管理区域中的所有其他页面在新的“主题”下看起来都很棒,但 Django-CMS 中 CMS 页面设置的布局(拖放界面)都一团糟。

为什么会这样,现在有解决办法吗?

谢谢。

编辑: 谢谢,布兰登的回复。有没有办法完全卸载 grappelli 而不会造成任何问题?现在,在我从INSTALLED_APPS 中删除 grappelli 后,默认管理员的 javascripts 被搞砸了。特别是,这些来自控制台:

Uncaught ReferenceError: grp is not defined actions.js:134
Uncaught ReferenceError: django is not defined admincompat.js:1
Uncaught ReferenceError: django is not defined collapse.js:24
Uncaught ReferenceError: django is not defined :8000/admin/cms/page/2/:942

【问题讨论】:

  • Grappelli 和 Django-CMS 不兼容 afaik。
  • 您的编辑已将其变成一个完全不同的问题(答案可能是“删除您的STATIC_ROOT 目录并再次运行collectstatic)。也许只需删除此问题并重新询问任何其中还有哪些优秀的部分?
  • 好的,我会的。感谢您的建议。
  • supervacuo 的建议有效!谢谢。
  • @supervacuo,这真的很奇怪。我一开始没有做 collectstatic,因为我在开发 localhost 机器中使用 django 微服务器。我卸载了 grappelli 并保留了所有内容(我使用 github 转到我的主版本),但仍然出现错误。我实际上不得不创建另一个虚拟环境并再次使用 pip 重新安装所有软件包。

标签: django django-admin django-cms django-grappelli


【解决方案1】:

这是我的解决方案 - 它涉及设置一个子域来为您的站点版本提供服务,其中删除了 grappelli 并提供来自不同目录的静态媒体:https://*.com/a/12900801/473285

【讨论】:

    【解决方案2】:

    Grappelli 还与普通的 Django 管理员冲突。另一个可行的解决方案是,如果您已从 INSTALLED_APPS 中删除 Grappelli,也请删除其 url 配置..

    从 url 配置中删除这一行

    path('grappelli/', include('grappelli.urls'))
    

    【讨论】: