在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',
]
相关推荐
封步宇AIGC12 分钟前
量化交易系统开发-实时行情自动化交易-3.4.1.2.A股交易数据
人工智能·python·机器学习·数据挖掘
何曾参静谧13 分钟前
「Py」Python基础篇 之 Python都可以做哪些自动化?
开发语言·python·自动化
Prejudices17 分钟前
C++如何调用Python脚本
开发语言·c++·python
我狠狠地刷刷刷刷刷30 分钟前
中文分词模拟器
开发语言·python·算法
Jam-Young43 分钟前
Python的装饰器
开发语言·python
Mr.咕咕1 小时前
Django 搭建数据管理web——商品管理
前端·python·django
AnFany1 小时前
LeetCode【0028】找出字符串中第一个匹配项的下标
python·算法·leetcode·字符串·kmp·字符串匹配
爪哇学长2 小时前
Java API类与接口:日期类型与集合的使用
java·开发语言·python
封步宇AIGC2 小时前
量化交易系统开发-实时行情自动化交易-3.4.1.6.A股宏观经济数据
人工智能·python·机器学习·数据挖掘