Flask Admin:具有等宽字体

时间:2016-03-14 17:05:25

标签: python flask flask-admin

我有一个数据库表,其中包含“Text”类型的列。 Flask-Admin在TextArea字段中显示此文本,并允许我对其进行编辑。但是,我希望文本以 monospace font 显示。我怎么能这样做?

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

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

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

1 个答案:

答案 0 :(得分:2)

小部件参数字典的“允许的关键字”只是可以为输入字段指定的各种HTML attributes。话虽如此,像style这样的属性(如下所示)是所有 HTML标记的有效属性。

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

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

style字段中,您可以像在标准HTML中一样指定要应用于窗口小部件的任何有效CSS。这里的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;'
    }
}