Flask Admin:带有等宽字体的 TextArea

Flask Admin: TextArea with monospace font

我有一个数据库 table,其中有一列类型为 'Text'。 Flask-Admin 在 TextArea 字段中显示此文本并允许我对其进行编辑。但是,我希望文本以 monospace 字体 显示。我该怎么做?

我知道我可以通过创建视图来影响 Flask-Admin 创建的小部件 类。例如。增加文本区域的高度我这样做:

class MyView(sqla.ModelView):
    form_widget_args = {'description' : {'rows' : 100}}

(其中 'description' 是我的文本列的名称)。是否有等效于 'rows' 关键字的关键字可以让我切换到等宽字体?我找不到完整的允许关键字列表。

小部件参数字典的"allowed keywords"只是可以为输入字段指定的各种HTML attributes。也就是说,像 style(如下所示)这样的属性是 all HTML 标签的有效属性。

您应该能够通过指定表单小部件的 style 使用等宽字体来完成您想要的。

form_widget_args = {
    'description': {
        'rows': 100,
        'style': 'font-family: monospace;'
    }
}

style 字段中,您可以指定 任何 有效 CSS ,就像您在标准 HTML。这里的 HTML 等价物是:

<textarea rows="100" style="font-family: monospace;"></textarea>

如果您真的想全面指定字体系列,您可以可以执行以下操作,在默认为系统等宽字体之前搜索所有列出的字体。

form_widget_args = {
    'description': {
        'rows': 100,
        'style': 'font-family:Consolas,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New, monospace;'
    }
}