在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;

}

复制代码
相关推荐
前端加油站41 分钟前
一种新HTML 页面转换成 PDF 技术方案
前端·javascript·vue.js
w***Q3501 小时前
Vue打包
前端·javascript·vue.js
有事没事实验室1 小时前
router-link的custom模式
前端·javascript·vue.js
4***V2021 小时前
Vue3响应式原理详解
开发语言·javascript·ecmascript
空影星1 小时前
高效追踪电脑使用时间,Tockler助你优化时间管理
python·django·flask
O***p6042 小时前
JavaScript在Node.js中的集群负载均衡
javascript·node.js·负载均衡
xhxxx2 小时前
prototype 是遗产,proto 是族谱:一文吃透 JS 原型链
前端·javascript
q***42053 小时前
使用Django Rest Framework构建API
数据库·django·sqlite
蚂蚁集团数据体验技术3 小时前
一个可以补充 Mermaid 的可视化组件库 Infographic
前端·javascript·llm
华仔啊4 小时前
还在用 WebSocket 做实时通信?SSE 可能更简单
前端·javascript