按照以下覆盖 flask 管理字段的提示,我试图让 Ace 语法荧光笔工作。
https://flask-admin.readthedocs.io/en/latest/advanced/#wysiwig-text-fields
这个想法是在 wtforms 文本区域上突出显示 sql server 语法。
这种尝试不起作用,不确定额外的 js 中还包含什么?
class ACETextAreaWidget(TextArea):
def __call__(self, field, **kwargs):
if kwargs.get('class'):
kwargs['class'] += ' ace'
else:
kwargs.setdefault('class', 'ace')
return super(ACETextAreaWidget, self).__call__(field, **kwargs)
class ACETextAreaField(TextAreaField):
widget = ACETextAreaWidget()
class ControlAdmin(sqla.ModelView):
#extra_js = ['//cdn.ckeditor.com/4.6.0/standard/ckeditor.js']
extra_js = ['https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.7/ace.js', 'https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.7/mode-sqlserver.js']
最佳答案
我不知道您实际上在哪里使用 ACETextAreaWidget
.在链接的代码中,他们把它放在什么是 ControlAdmin
在上面的代码中。您可能只需要将这些行添加到 ControlAdmin
:
form_overrides = {
'body': ACETextAreaWidget
}
关于javascript - 使用 ACE 语法高亮显示 Flask-Admin 字段覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59536378/