我有一个数据库表,其中包含“Text”类型的列。 Flask-Admin在TextArea字段中显示此文本,并允许我对其进行编辑。但是,我希望文本以 monospace font 显示。我怎么能这样做?
我知道我可以通过创建视图类来影响Flask-Admin创建的小部件。例如。增加文本区域的高度:
class MyView(sqla.ModelView):
form_widget_args = {'description' : {'rows' : 100}}
(其中'description'是我的文本列的名称)。有没有相当于'rows'关键字让我切换到等宽字体?我找不到允许的关键字的完整列表。
答案 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;'
}
}