如何扩展 Flask-admin 模型编辑和创建模板?

Mar*_*eca 5 python flask python-3.x flask-admin

根据flask-admin 文档,我可以通过创建文件templates/admin/index.html并扩展.flask-admin 来扩展主flask-admin 仪表板admin/master.html。HTML 看起来像这样:

{% extends 'admin/master.html' %}

{% block body %}
    <h1>HELLO</h1>
{% endblock body %}
Run Code Online (Sandbox Code Playgroud)

但我找不到任何有关如何扩展模型 CRUD 页面的信息:List、Edit 和 Create。我需要扩展“创建和编辑用户”页面,以便可以将 js 代码添加到表单模板中。

是否有一个模板可以像admin/master.html示例一样扩展?

Mar*_*eca 6

刚刚在flask-admin docs中找到了它。我必须创建templates/edit_user.htmltemplates/create_user.html. 对于list_users也相同,文档中有一个示例。

edit_user.html

{% extends 'admin/model/edit.html' %}

{% block body %}
    <h1>User Edit View</h1>
    {{ super() }}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

create_user.html

{% extends 'admin/model/create.html' %}

{% block body %}
    <h1>Create View</h1>
    {{ super() }}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

然后将其添加到用户模型视图中:

class UserView(ModelView):
    edit_template = 'edit_user.html'
    create_template = 'create_user.html'


admin.add_view(UserView(User, db.session))
Run Code Online (Sandbox Code Playgroud)