- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想更改一些使用 flask_admin
的现有 Python 代码。其中一个 View 使用 inline_models
和 (ClassName, Options)
声明模式。内联类有一个文本字段。我想通过以下方式更改 flask_admin 默认行为:
我用谷歌搜索了一下,但任何看起来有潜力的东西看起来都非常重要。我希望有一些合理直接的方法来实现这一目标。
非常感谢您的帮助。
最佳答案
是的。看起来我们在记录不完整的领域,在这里。很难知道我是否在改进您已经发现的内容,但我希望您正在寻找比编写自定义管理 View 模板更容易的东西。
调用之后,选项字典似乎最终传递给了 InlineBaseFormAdmin 的构造函数哪里有各种form_* keys被提取和应用(不确定所有的都被尊重,但我至少看到我认为你可以通过 form_widget_args
完成你需要的,但你也可以通过 form_rules
或覆盖 InlineBaseFormAdmin 的 get_form
或 postprocess_form
方法:
class SomeModelView(MyBaseModelView):
...
inline_models = [(db.SomeOtherModel, {
"form_widget_args": {
"uneditable_field_name": {"readonly": True}
}
})]
...
可以通过提供您自己的内联表单模型来覆盖 display_row_controls
来控制删除选项:
from flask_admin.contrib.sqla.form import InlineModelConverter
from flask_admin.contrib.sqla.fields import InlineModelFormList
class CrouchingTigerHiddenModelFormList(InlineModelFormList):
def display_row_controls(self, field): return False
class MyInlineModelConverter(InlineModelConverter):
inline_field_list_type = CustomInlineModelFormList
#adding to above example
class SomeModelView(MyBaseModelView):
...
inline_model_form_converter = MyInlineModelConverter
inline_models = [(db.SomeOtherModel, {
"form_widget_args": {
"uneditable_field_name": {"readonly": True}
}
})]
...
注意:小部件参数(例如只读)将作为 render_kw 传递给 wtforms。 ,但 WTForms 文档并不清楚这些在生成的 HTML 输入元素中表示为属性(因此任何 HTML input element attributes 在这里都是有效的)。
看起来像form.js控制此行为,因此您应该能够对其 addInlineField
方法进行猴子修补,以在添加模型之前或之后执行您自己的代码。您可以为此覆盖创建和/或编辑模板——但如果您使用的是 flask-admin 1.5.0+,这可能就像添加 extra_js = ["your-custom.js"]
到 View 类(注意:看起来这个脚本包含在这个 View 的每个页面上)。
关于python - flask_admin 改变 inline_models 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43773654/
使用 Flask_Admin,我有一个 View /模型 Movie,它将有一个字段 genre,它将是一个字符串,"horror" 、“ Action ” 或 “喜剧”。对于 flask_admin
使用 Flask_Admin,我有一个 View /模型 Movie,它将有一个字段 genre,它将是一个字符串,"horror" 、“ Action ” 或 “喜剧”。对于 flask_admin
我正在开发简单的 Web 应用程序,至于数据库显示,我使用 Flask_admin 模块。我想将自定义 CSS 应用于我的所有模板,例如带有蓝色边框的自定义 navar。这是我的 index.html
我想更改一些使用 flask_admin 的现有 Python 代码。其中一个 View 使用 inline_models 和 (ClassName, Options) 声明模式。内联类有一个文本字段
如何使用 flask_pymongo 和 flask_admin 添加管理员 ``` from flask import Flask from flask_pymongo import PyMongo
我是一名优秀的程序员,十分优秀!