gpt4 book ai didi

django - Django admin 中的微小 MCE 弹出窗口空白

转载 作者:行者123 更新时间:2023-12-03 14:31:09 26 4
gpt4 key购买 nike

我在 Django 管理员中使用了 tinyMCE,但所有弹出窗口都是空白的
(例如,编辑 HTML,添加图像)

弹出 html 页面的路径都存在于正确的位置

http://thatch.media/js/tiny_mce/themes/advanced/source_editor.htm?mce_rdomain=thatch

整个js文件夹的权限设置为777

这是我的模型
class Page(models.Model):
title = models.CharField(max_length=200)
...

class Admin:
js = ('js/tiny_mce/tiny_mce.js', 'js/textareas.js')

有任何想法吗?

最佳答案

我也遇到了这个问题,使用 Amazon S3 存储桶来存储静态媒体,包括 TinyMCE javascript。

更明确地说——您的静态媒体必须位于主站点的子域中。所以,如果你的网站在 foo.bar.com 上运行——你的静态媒体必须在类似 static.foo.bar.com 的东西上——注意 static.bar.com 和 static-foo.bar.com 不会好的。 (如果您的网站在 bar.com 上,那么 static.bar.com 就可以了。)

因此,一旦您的静态媒体从子域中提供服务(对于 S3,请参阅 Amazon S3: Static Web Sites: Custom Domain or Subdomain,这对我有帮助),您需要在 javascript 中的两个位置设置 document.domain:

1) 在 tiny_mce_popup.js

2) 在tiny_mce.js 中,或者在tiny_mce.init() 调用发生之前的某个脚本标签中的主页呈现的HTML 中。 (我发现破解 tiny_mce.js 并将其重新上传到 S3 更方便,而不是在 django-tinymce 的小部件渲染上乱搞。)

您需要在两个地方将 document.domain 设置为 MAIN SITE 的域:因此,对于 foo.bar.com 上的站点和 static.foo.bar.com 上的静态媒体,您需要设置 document.domain = "foo.bar.com”

这应该可以防止浏览器中出现任何安全异常,现在一切都会正常进行。

关于django - Django admin 中的微小 MCE 弹出窗口空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/572025/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com