在django中集成markdown文本框

首先需要下载开源组件:http://editor.md.ipandao.com/,可能需要挂梯子。

百度网盘:

链接:https://pan.baidu.com/s/1D9o3P8EQDqSqfhAw10kYkw

提取码:eric

1.在html代码中生成一个div,id=editor
html 复制代码
<div class="form-group">
    <label for="{{ field.id_for_label }}">{{ field.label }}</label>
        <div id="editor">
            {{ field }}
        </div>
    <span class="error_msg">{{ field.errors.0 }}</span>
</div>

这里用的是 modelform, 其中该字段 field 组件是 textarea 格式。

2.引入 css 和 js
html 复制代码
<link rel="stylesheet" href="{% static 'plugin/editor-md/css/editormd.min.css' %}">
javascript 复制代码
<script src="{% static 'plugin/editor-md/editormd.min.js' %}"></script>
3.写个函数
javascript 复制代码
function initEditorMd() {
    editormd('editor', {
        placeholder: '请输入内容',
        height: 500,
        path: '{% static 'plugin/editor-md/lib/' %}', 这一行是给出lib目录,不然会显示不出来
    })
}

这个 editor 就是第一步定义的 id

4.修复全屏展示效果

这个直接在当前页面的css目录里面写上就好。

css 复制代码
.editormd-fullscreen {
    z-index: 1001;
}

ss

.editormd-fullscreen {

z-index: 1001;

}

复制代码
相关推荐
知识分享小能手3 小时前
Vue3 学习教程,从入门到精通,Axios 在 Vue 3 中的使用指南(37)
前端·javascript·vue.js·学习·typescript·vue·vue3
烛阴7 小时前
精简之道:TypeScript 参数属性 (Parameter Properties) 详解
前端·javascript·typescript
开发者小天9 小时前
为什么 /deep/ 现在不推荐使用?
前端·javascript·node.js
找不到工作的菜鸟10 小时前
Three.js三大组件:场景(Scene)、相机(Camera)、渲染器(Renderer)
前端·javascript·html
定栓10 小时前
vue3入门-v-model、ref和reactive讲解
前端·javascript·vue.js
binqian11 小时前
【异步】js中异步的实现方式 async await /Promise / Generator
开发语言·前端·javascript
前端李二牛11 小时前
异步任务并发控制
前端·javascript
你也向往长安城吗12 小时前
推荐一个三维导航库:three-pathfinding-3d
javascript·算法
karrigan12 小时前
async/await 的优雅外衣下:Generator 的核心原理与 JavaScript 执行引擎的精细管理
javascript
wycode12 小时前
Vue2实践(3)之用component做一个动态表单(二)
前端·javascript·vue.js