在django中使用kindeditor出现转圈问题

在django中使用kindeditor出现转圈问题

【一】基础检查

【1】前端检查

  1. 确保修改了uploadJson的默认地址

    • 该地址需要在路由层有映射关系
  2. 确认有加载官方文件

    python 复制代码
    kindeditor-all-min.js
  3. 确保有传递csrfmiddlewaretoken

    • 或者后端关闭了csrf验证
html 复制代码
<textarea name="content" id="content-area" cols="30" rows="10"></textarea>

<script>
    KindEditor.ready(function (K) {
        window.editor = K.create('#content-area', {
            width: '100%',
            height: "500px",
            resizeType: 0,
            uploadJson: '{% url 'upload_file' request.user.username %}',
            extraFileUploadParams: {
                'csrfmiddlewaretoken': '{{ csrf_token }}',
            }
        });
    });
</script>

【2】视图层检查

  • 确认路由层映射的视图层
    • 返回的是按照要求的字典格式
python 复制代码
# 返回格式
"""
    // 成功时
{
    "error": 0,
    "url": "http://www.example.com/path/to/file.ext"
}
// 失败时
{
    "error": 1,
    "message": "错误信息"
}
"""

【二】解决办法一

  • 重新下载kindeditor
  • 官网的还需要一些内容调整

链接:https://pan.baidu.com/s/1NGbJCVLGqSwuBKYP7Mfu6w?pwd=zrqk

提取码:zrqk

【三】解决办法二

  • 在配置文件settings中添加

    python 复制代码
    X_FRAME_OPTIONS = "SAMEORIGIN"
  • 这是因为Django默认设置了X-Frame-Options为DENY,禁止在<iframe>中显示页面。

  • 可以尝试在Django的设置文件(通常是settings.py)中将X_FRAME_OPTIONS设置为SAMEORIGIN

    • 以允许在相同域名下的<iframe>中显示页面

【四】解决办法三

  • 注释掉配置文件中的**XFrame中间件**
python 复制代码
MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    # 'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
相关推荐
李少兄9 天前
解决OSS存储桶未创建导致的XML错误
xml·开发语言·python
就叫飞六吧9 天前
基于keepalived、vip实现高可用nginx (centos)
python·nginx·centos
Vertira9 天前
PyTorch中的permute, transpose, view, reshape和flatten函数详解(已解决)
人工智能·pytorch·python
学Linux的语莫9 天前
python基础语法
开发语言·python
匿名的魔术师9 天前
实验问题记录:PyTorch Tensor 也会出现 a = b 赋值后,修改 a 会影响 b 的情况
人工智能·pytorch·python
Ven%9 天前
PyTorch 张量(Tensors)全面指南:从基础到实战
人工智能·pytorch·python
mahuifa9 天前
PySide环境配置及工具使用
python·qt·环境配置·开发经验·pyside
大熊猫侯佩9 天前
ruby、Python 以及 Swift 语言关于 “Finally” 实现的趣谈
python·ruby·swift
19899 天前
【Dify精讲】第19章:开源贡献指南
运维·人工智能·python·架构·flask·开源·devops
@昵称不存在9 天前
Python Arrow 库详解:更智能的日期时间处理
开发语言·python