2

我开始在一家公司学习 Web 开发,任务是在 cookiecutter django 中制作一个简单的应用程序,然后将 django-cms 集成到其中。

我使用 django cookie-cutter 启动了一个项目,然后按照本指南将 django-cms 集成到项目中:

https://github.com/pydanny/cookiecutter-django

http://docs.django-cms.org/en/latest/how_to/install.html

在经历了一些最初的麻烦之后,我设法让它继续下去。之后,下一步是将我的“投票”应用程序添加到项目中,并将 Django CMS 也集成到其中。

为此,我遵循了本教程:

http://docs.django-cms.org/en/latest/introduction/03-integrating_applications.html#incorporate-the-polls-application

我设法一直走到最后一个链接的末尾,然后在第 6 步,发生了这种情况。

每次我尝试从我的站点删除插件,或者当我单击 CMS 工具栏上的创建时,我都会收到此错误(注意:如果我登录到 /admin,我可以创建页面,但不能通过 cms 菜单栏实际网站):

The form could not be loaded. Please check that the server is running correctly.

服务器一切都很好。那里没有错误。

在控制台中:

Refused to display 'http://127.0.0.1:8000/cms_wizard/create/?page=5&language=en&edit&cms_path=/home/?edit&language=en&structure' in a frame because it set 'X-Frame-Options' to 'deny'.

bundle.toolbar.min.js:1 [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.

这两天我一直在谷歌上搜索,我就是想不通。任何帮助将不胜感激 !

我已经在我的 github 上推送了我更改的文件,如果您需要任何其他信息,请告诉我,我会立即包含它。

https://github.com/sandilukez/cms-django-cookie

我尝试了所有可以在网上找到的东西,但没有运气!

4

3 回答 3

1

我猜这与类似。您可能在控制台中遇到相同的错误,对吗?

因此,您应该在您的 中添加以下内容settings/local.py

X_FRAME_OPTIONS = "ALLOWALL"
XS_SHARING_ALLOWED_METHODS = ["POST", "GET", "OPTIONS", "PUT", "DELETE"]
于 2019-11-27T13:18:57.143 回答
1

上面的答案是一个接近的答案,至少在问题所在的地方,但答案X_FRAME_OPTIONS = "ALLOWALL"可能会导致安全问题。正如 django 文档中提到的那样

现代浏览器尊重 X-Frame-Options HTTP 标头,该标头指示是否允许在框架或 iframe 中加载资源。如果响应包含值为 SAMEORIGIN 的标头,则浏览器只会在请求来自同一站点的情况下将资源加载到框架中。

为了让 django cms 能够在网站内打开 iframe,我们应该X_FRAME_OPTIONS = 'SAMEORIGIN'进行设置。这样我们就不允许其他网站将我们的网站包含为 iframe,而是让 django cms 正常工作。有关更多信息,这里是相关文档:https ://docs.djangoproject.com/en/3.1/ref/clickjacking/

于 2020-12-02T22:02:54.927 回答
0

Anser 更新 2021 年 7 月 11 日

我成功解决了这个问题,谢谢@user2135738

版本 : 在此处输入图像描述

django 项目中的 settings.py 文件

#django cms allow all
X_FRAME_OPTIONS = "ALLOWALL"
XS_SHARING_ALLOWED_METHODS = ["POST", "GET", "OPTIONS", "PUT", "DELETE"]

在此处输入图像描述

于 2021-07-11T04:53:42.563 回答