You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django应用中集成Medium Editor?配置后无显示

解决Django中Medium Editor无法显示的问题

核心原因:脚本执行时机错误

你的代码中,初始化Medium Editor的脚本在.editable元素加载前就已执行,此时DOM中还不存在目标元素,导致编辑器无法完成初始化。

修复方案

1. 调整脚本位置

将初始化脚本移至.editable元素之后,确保DOM元素已存在再执行初始化:

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/medium-editor@latest/dist/css/medium-editor.min.css" type="text/css" media="screen" charset="utf-8">
<script src="https://cdn.jsdelivr.net/npm/medium-editor@latest/dist/js/medium-editor.min.js"></script>

<div class="editable" contenteditable="true"></div>

<script>var editor = new MediumEditor('.editable');</script>

2. 备选:监听DOM加载完成事件

若必须将脚本放在页面头部,用DOMContentLoaded事件包裹初始化代码,确保DOM完全加载后再执行:

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/medium-editor@latest/dist/css/medium-editor.min.css" type="text/css" media="screen" charset="utf-8">
<script src="https://cdn.jsdelivr.net/npm/medium-editor@latest/dist/js/medium-editor.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
  var editor = new MediumEditor('.editable');
});
</script>

<div class="editable" contenteditable="true"></div>

3. Django模板额外注意事项

  • 避免Django模板语法与JS变量冲突,比如不要让模板变量名和JS变量重名。
  • 若手动引入本地静态文件,先将Medium Editor的CSS和JS放入Django的static目录,再用{% static %}标签引入:
{% load static %}
<link rel="stylesheet" href="{% static 'medium-editor/css/medium-editor.min.css' %}">
<script src="{% static 'medium-editor/js/medium-editor.min.js' %}"></script>

4. 排查报错信息

打开浏览器开发者工具(F12)的控制台,查看是否有资源加载失败、语法错误等提示,根据报错定位具体问题。

内容的提问来源于stack exchange,提问作者Chiko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 19:52:03