引入wangEditor到F.A.B
稍后我在想是不是可以把这个wangEditor封装成一个widgets,估计会很舒服,单独开一个项目
以后也好直接引用下来
作为AddON?还是什么,不知道,先手工来一次
1、安装
https://www.wangeditor.com/v5/installation.html#npm
按照它的官方文档,是要这样
<!-- 引入 css -->
<link href="https://cdn.jsdelivr.net/npm/@wangeditor/editor@latest/dist/css/style.css" rel="stylesheet">
<!-- 引入 js -->
<script src="https://cdn.jsdelivr.net/npm/@wangeditor/editor@latest/dist/index.min.js"></script>
<script>
var E = window.wangEditor; // 全局变量
</script>

所以我先把两个文件下载下来到static目录下
https://flask-appbuilder.readthedocs.io/en/latest/templates.html#css-and-javascript
然后根据文档
我决定先对

动手
{% block head_css %}
{{ super() }}
<link rel="stylesheet" href="{{url_for('static',filename='editor/style.css')}}"></link>
{% endblock %}
{% block head_js %}
{{ super() }}
<script src="{{url_for('static',filename='editor/index.min.js')}}"></script>
{% endblock %}
然后在注入的test.js里面写
var E = window.wangEditor; // 全局变量
console.log(E)
测试一下有没有安装成功

OK,安装成功了
=========================================
打开note_widgets.html
昨晚自定义的一个组件里,直接插入两个锚点

搞错了,昨晚自定义的是show的小组件,
那看来还是得改my_edit.html
效果不好,只能还是改widget
这是edit对应的小组件

新建一个note_form然后copy粘贴的原始代码
参考的官方文档在这里:
https://flask-appbuilder.readthedocs.io/en/latest/templates.html#other-widget-types
打开widgets.py

from flask_appbuilder.widgets import ShowBlockWidget,FormWidget
class NoteShowWidget(ShowBlockWidget):
template = 'widgets/note_show.html'
class NoteFormWidget(FormWidget):
template = 'widgets/note_form.html'
引用一个基,然后加一个class
再到view.py里面去
from .widgets import NoteShowWidget,NoteFormWidget
引一下

加一下
但是发现此路还是不够优雅。。。。
我还是用js的方法算了
=========================================

换了一下思路好多了
首先:
edit_widget = NoteFormWidget
add_widget = NoteFormWidget
都换成我自己的控件
然后在控件的头部

直接加入引用

控件的尾部,直接加入注入用的文件

然后安装注入一气呵成,就很舒服,其实我甚至可以稍后把js这部分也直接打入到note_form.html里面去的
就很舒服了
这样add和edit两个视图就同时加载好了控件
当然还有几个逻辑需要编写
1、edit的时候,需要把内容从textare初始化到编辑器去
2、onchang需要测试好
==========================================
1、初始化数据

刚才失败了,明白了
是它只认html


OK搞定了

搞定了,但是代码高亮在show模式下不行,这个文档里似乎提到过,稍后再来看怎么整
邻家的の柠檬叔的最新日记 · · · · · · ( 全部 )
- 与她的告别信 (2人喜欢)
- 2025年2月21日AI多领域阅读列表汇总
- 触发搜索过于敏感问题 (1人喜欢)
- deepseek v3的指令服从性-作为相关度排序器 (1人喜欢)
- 《史上最大机器人🤖》
热门话题 · · · · · · ( 去话题广场 )
-
加载中...