在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',
]
相关推荐
愚戏师18 分钟前
Python3 多线程
linux·运维·服务器·python
子午34 分钟前
【食物识别系统】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积网络+resnet50算法
人工智能·python·深度学习
曾经的三心草35 分钟前
基于正倒排索引的Java文档搜索引擎2-实现Index类
java·python·搜索引擎
疏狂难除44 分钟前
尝试rust与python的混合编程(二)
数据库·python·rust
子午2 小时前
【蘑菇识别系统】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积网络+resnet50算法
人工智能·python·深度学习
Mr_Xuhhh2 小时前
pytest -- 指定⽤例执⾏顺序
开发语言·python·pytest
tokepson2 小时前
关于python更换永久镜像源
python·技术·记录
F_D_Z2 小时前
【解决办法】网络训练报错AttributeError: module ‘jax.core‘ has no attribute ‘Shape‘.
开发语言·python·jax
前端伪大叔2 小时前
第29篇:99% 的量化新手死在挂单上:Freqtrade 隐藏技能揭秘
后端·python·github
韩曙亮3 小时前
【人工智能】AI 人工智能 技术 学习路径分析 ① ( Python语言 -> 微积分 / 概率论 / 线性代数 -> 机器学习 )
人工智能·python·学习·数学·机器学习·ai·微积分