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

时间:2019-03-17 21:52:27

标签: python python-3.x flask flask-admin

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

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

{% block body %}
    <h1>HELLO</h1>
{% endblock body %}

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

有没有像admin/master.html示例一样可以扩展的模板?

2 个答案:

答案 0 :(得分:1)

Just found it in flask-admin docs. I had to create templates/edit_user.html and templates/create_user.html. For list_users is also the same, theres is an example in the docs.

In edit_user.html

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

{% block body %}
    <h1>User Edit View</h1>
    {{ super() }}
{% endblock %}

In create_user.html

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

{% block body %}
    <h1>Create View</h1>
    {{ super() }}
{% endblock %}

and then add this to the User model View:

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


admin.add_view(UserView(User, db.session))

答案 1 :(得分:0)

对于DOC,这是默认命令:

admin = Admin(app, name='microblog', template_mode='bootstrap3')

在/static/css/main.css中添加您自己的CSS:

{% block head_css %}
  {{ super() }}
  <link rel="stylesheet" href="{{ url_for('static', filename='css/main.css', _external=True) }}" ></link>
{% endblock %}