在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',
]
相关推荐
兵慌码乱8 小时前
面向桌面端的资产管理系统分层架构设计与核心模块实现
python·系统架构·sqlite·pyqt5·数据库设计·桌面应用开发·mvc架构
hboot10 小时前
AI工程师第三课 - 机器学习基础
python·scikit-learn·kaggle
顾林海14 小时前
Agent入门阶段-编程基础-Python:流程控制
python·agent·ai编程
呱呱复呱呱17 小时前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
曲幽1 天前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码1 天前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱1 天前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵1 天前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio2 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户0332126663672 天前
使用 Python 从零创建 Word 文档
python