对FlaskAdmin字段重写使用ACE语法highligher

2024-06-26 03:19:57 发布

您现在位置:Python中文网/ 问答频道 /正文

遵循下面关于重写flask admin字段的提示,我正在尝试让Ace语法highlighter正常工作。你知道吗

https://flask-admin.readthedocs.io/en/latest/advanced/#wysiwig-text-fields

其思想是在wtforms文本区域中突出显示sqlserver语法。你知道吗

此尝试不起作用,不确定额外的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']

Tags: httpsselfcomflaskfieldadminjs语法
1条回答
网友
1楼 · 发布于 2024-06-26 03:19:57

我看不出您实际上在哪里使用ACETextAreaWidget。在链接的代码中,他们把它放在上面代码的ControlAdmin中。您可能只需要将这些行添加到ControlAdmin

form_overrides = {
    'body': ACETextAreaWidget
}

相关问题 更多 >