flask - Flask-Admin:将 WYSIWYG 编辑器添加到内联模型?
问题描述
几乎就像主题一样:我有一个 Flask-Admin 站点,并且想将 TinyMCE 或 CKEditor 添加到内联模型中的文本区域。
通常有各种将 CKEditor 添加到 Flask-Admin 的说明,例如Flask-Admin 和 CKEditor WYSIWYG textarea 集成以及让 CKEditor 与 Flask-Admin 一起工作。我已经按照这些创建了 WTForms 小部件和字段。内联模型不使用 edit.html 来拉入 JS,但我可以将它添加到主模板中,尽管这并不理想。
但主要问题是如何将 WTForms 字段附加到 Flask-Admin 模型。现有说明让您设置了form_overrides = dict(fieldname=CKTextAreaField)
. 但这在内部不起作用inline_models
。我该如何做到这一点?
解决方案
几天前我遇到了这个问题,并设法通过将它添加到我的视图类来解决它。
class CustomView(ModelView):
extra_js = ['//cdn.ckeditor.com/4.6.0/standard/ckeditor.js']
inline_models=[ ( YourModel, dict(
form_overrides={
'FieldName':CKTextAreaField
}
))]
假设您遵循了 CKEditor 的烧瓶管理员文档教程。
inline_models 由 (model, options) 对组成。"options" 对象是这里的关键:它接受 ModelView 拥有的大部分 form_* 属性。
推荐阅读
- java - 在同一位置多次在画布上画线使其更加饱和
- reactjs - 来自 react-datepicker 的日期对象未保存
- django - 无法在 AWS 中恢复 postgreSQL 转储文件
- python - 使用大查询在 Jupiter Notebook (Python) 中超过 504 截止日期
- c# - 过滤 JArray
- java - 如何解决空指针异常
- postgresql - 您可以更改 plpgsql 函数中的 IN 参数吗?
- apache-nifi - 阿帕奇尼菲|| InvokeHttp 处理器显示错误
- java - java.lang.NoClassDefFoundError:无法初始化类 - Kotlin 对象
- python - 用字典和条件替换行