问题标签 [flask-admin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
969 浏览

python - 为什么 flask-admin 需要 mongoengine 的 ListField 才能具有字段类型?

我正在尝试使用flask-admin,这看起来很简单,但是我遇到了问题。

我在集合中有一个字段,它被定义为 a ,列表字段类型ListField()的隐式类型为 。None我没有为该字段定义类型的原因是因为我保留了一个列表列表,并且没有其他优雅的方法(我发现)可以使用 mongoengine 完成此操作。

但是烧瓶管理员不允许我定义这样一个字段,错误为ListField "movements" must have field specified for model.

有没有解决的办法?

0 投票
2 回答
635 浏览

python - 如何覆盖/自定义 Jinja2 模板中(本机)对象的默认格式?

我想更改在烧瓶管理员中向我显示日期的默认方式,为其提供特定的时区并以更易于阅读的格式显示。

有很多方法可以解决这个问题(过滤器__html__、、、、__str__Babel 等),但是虽然这些方法可行,但我的问题是是否有更通用的方法来解决更普遍的问题。格式化日期的具体问题只是一个例子。

在我的场景中,我无法控制日期对象——我不能子类化它或monkeypatch a __str__or__html__方法。我希望它对模板中的所有日期自动发生,并且我不想编写自定义管理模板,并且我不想在我的模板中为这种情况使用显式过滤器。

我理想的解决方案是以某种方式为 Jinja 指定一个默认过滤器,以便所有数据在呈现之前都通过该过滤器。我可以自己编写过滤器,但我不知道如何让 Jinja 使用它。

我的一个想法是以某种方式使用自动转义(请参阅this question),但我看不到任何方法可以在没有讨厌的猴子补丁的情况下覆盖 Jinja 的自动转义功能。

有任何想法吗?

0 投票
1 回答
325 浏览

flask-admin - 我如何更改烧瓶管理员的语言环境?

我想更改语言环境,例如:

locale='zh_CN'

不是管理员应用程序的语言环境,我需要更改烧瓶管理员的语言环境代码。

0 投票
1 回答
634 浏览

python - 如何编辑烧瓶管理员以支持多租户?

我正在使用 Flask-peewee,寻找一种授予管理员权限的方法,我想制作一个多租户管理仪表板。

我已经为显示交易做了:

所以现在我想在他们想要编辑表单时保留商家 ID 的登录用户 ID。

在此处输入图像描述

*编辑图片文本:Merchant_id 必须是默认的 auth.loggedinid

0 投票
2 回答
980 浏览

python - 几何场 (LON/LAT) 的 AdminModelConvertor

我想为 Flask-Admin 创建一个视图以在几何字段中输入坐标。如何创建两个文本字段并将它们转换为几何对象?

这是我迄今为止尝试过的(除了不可数的其他事情)

POI 对象如下所示:

非常感谢你的帮助!

0 投票
1 回答
1205 浏览

performance - Flask Admin - 性能问题

尽管 Flask 应用程序的性能很好,但我在 Flask-Admin 中面临性能问题。

我的模型是:

术语确实有很多记录,插件中的记录更多。如果我在 Flask-Admin 中单击到任何地方以获取酒店、期限、Ck 或插件的详细信息,这是不可能的,因为它直到超时才会完成。

请你能告诉我在哪里可以改进它吗?谢谢

0 投票
1 回答
649 浏览

python - flask-admin:在特定条件下取消对模型的更新

我正在使用烧瓶管理员的 ModelView 类和 SQLalchemy。我想检查 on_model_change() 函数中的特定条件,如果满足条件,则取消对模型的更新。我该怎么做?

通过这样做(尽管不是我最喜欢的例程)创建新模型时,我能够摆脱更改:

但是,当现有条目发生更改时,我看不到取消更新的方法。

我也查了return False。那没有用。

0 投票
1 回答
6956 浏览

python - Flask-Admin ModelView 自定义验证?

我正在研究结合 PeeWee 后端 ModelView 的 Flask-Admin(但我的问题也可能适用于 SQLAlchemy 后端),在文档或示例中我找不到两件事:

(1)。当我的模型有一个唯一字段并且我测试/尝试复制它时,我会得到一个默认的 Flask 崩溃屏幕,并显示消息:“IntegrityError:列用户名不是唯一的”

我正在测试https://github.com/mrjoes/flask-admin/blob/master/examples/peewee/simple.py中提供的 PeeWee 示例,并将第 21 行更改为“username = peewee.CharField(max_length= 80,唯一=真)”

然后我尝试用“username”=“user1”添加两个用户。

有没有一种礼貌的方法可以返回编辑屏幕(甚至是列表屏幕,任何管理屏幕都可以)但带有受控的错误消息?我不需要自定义错误消息,当前消息正常(IntegrityError:列用户名不是唯一的)。但我不想要崩溃屏幕。

我可以设置/使用 Flask 的默认 500 页面,但是我会完全退出 Flask-Admin 流程,用户会“错过”他刚刚输入的数据。

我想回到编辑屏幕,但有某种警报/错误消息。我不介意必须扩展模板,这不是问题。但是我找不到一个地方来拦截错误并正确处理它。有什么建议么?

(2):

我还需要一种在流程中添加一些预保存验证的方法。例如,我处于具有 initial_date 和 final_date 的实体的编辑表单中,我想在保存之前确保 final_date 大于 initial_date 或为空。

我可以通过 javascript 在客户端执行此操作,扩展该实体的编辑模板并在尾部块中添加我的验证脚本(并拦截 form.submit 事件)。

但是,如果我的验证需要一些服务器端的最后一分钟验证怎么办?有什么方法/地方可以拦截流程并添加我的验证,幸运的是,以问题 1 中讨论的相同方式返回我的错误消息?

提前致谢,

问候,

0 投票
0 回答
290 浏览

python - SQLalchemy 和 Flask-admin - 性能问题

我不了解它使用的 Flask-Admin 和 sql 查询。我有性能问题,但主要原因是调用了不合理的查询。

我有模型:

如果我想阅读 Flask-administration 中一家酒店的信息,有几个可疑的查询

例如。以下查询通过争论被调用了百万次,这没有意义

并且在没有过滤所选hotel.id的情况下调用另一个查询,并且查询直到超时才完成,并且再次无用

请你能给我一些提示我的管理员发生了什么,我真的不知道我应该改进什么。

谢谢

0 投票
0 回答
241 浏览

flask - Flask-admin:flask.ext.admin.contrib.sqla - ModelView - 表单验证

首先,我尝试使用 form_base_class 为我的管理视图配置验证方法:

但是编辑表单和创建表单是一样的。

然后我尝试使用 create_form 和 edit_form 方法,但似乎没有任何后果:

那么我们如何使用不同的编辑和创建测试来验证烧瓶管理表单呢?