flask-admin:修改按钮文本
flask-admin: revise the button text
我在Whosebug上没有找到类似的问题,我想把保存按钮改成提交或者在编辑表单上确认。我知道这可能不会轻易改变。感谢您提前提出任何建议。
在flask-admin
的代码中搜索后,发现按钮是用宏render_form
、render_form_buttons
、extra
渲染的。这些按钮的值是 {{ _gettext("blabla") }}
的硬编码。
由于这些按钮不是数据模型的字段,我们不能使用rendering rules来自定义值。我认为有两种解决方法可以完成这项工作:
- 更改在
flask-admin
(render_form_buttons
, extra
) 的源代码中呈现这些按钮的宏
flask-admin
使用flask-babelex
做本地化({{ _gettext("blabla") }}
),你可以'translate'Save
到submit
或confirm
与 flask-babelex
更新:
您可以在自己的模板目录中自定义edit.html
。
{% extends 'admin/model/edit.html' %}
{% from 'admin/lib.html' import extra with context %}
{% from 'admin/lib.html' import form_tag with context %}
{% from 'admin/lib.html' import render_form_fields with context %}
{% macro my_render_form_buttons(cancel_url, extra=None, is_modal=False) %}
<hr>
<div class="form-group">
<div class="col-md-offset-2 col-md-10 submit-row">
<input type="submit" class="btn btn-primary" value="{{ _gettext('Submit') }}" />
{% if extra %}
{{ extra }}
{% endif %}
{% if cancel_url %}
<a href="{{ cancel_url }}" class="btn btn-danger" role="button" {% if is_modal %}data-dismiss="modal"{% endif %}>{{ _gettext('Cancel') }}</a>
{% endif %}
</div>
</div>
{% endmacro %}
{% macro my_render_from(form, cancel_url, extra=None, form_opts=None, action=None, is_modal=False) -%}
{% call form_tag(action=action) %}
{{ render_form_fields(form, form_opts=form_opts) }}
{{ my_render_form_buttons(cancel_url, extra, is_modal) }}
{% endcall %}
{% endmacro %}
{% block edit_form %}
{{ my_render_form(form, return_url, extra(), form_opts) }}
{% endblock %}
我在Whosebug上没有找到类似的问题,我想把保存按钮改成提交或者在编辑表单上确认。我知道这可能不会轻易改变。感谢您提前提出任何建议。
在flask-admin
的代码中搜索后,发现按钮是用宏render_form
、render_form_buttons
、extra
渲染的。这些按钮的值是 {{ _gettext("blabla") }}
的硬编码。
由于这些按钮不是数据模型的字段,我们不能使用rendering rules来自定义值。我认为有两种解决方法可以完成这项工作:
- 更改在
flask-admin
(render_form_buttons
,extra
) 的源代码中呈现这些按钮的宏
flask-admin
使用flask-babelex
做本地化({{ _gettext("blabla") }}
),你可以'translate'Save
到submit
或confirm
与 flask-babelex
更新:
您可以在自己的模板目录中自定义edit.html
。
{% extends 'admin/model/edit.html' %}
{% from 'admin/lib.html' import extra with context %}
{% from 'admin/lib.html' import form_tag with context %}
{% from 'admin/lib.html' import render_form_fields with context %}
{% macro my_render_form_buttons(cancel_url, extra=None, is_modal=False) %}
<hr>
<div class="form-group">
<div class="col-md-offset-2 col-md-10 submit-row">
<input type="submit" class="btn btn-primary" value="{{ _gettext('Submit') }}" />
{% if extra %}
{{ extra }}
{% endif %}
{% if cancel_url %}
<a href="{{ cancel_url }}" class="btn btn-danger" role="button" {% if is_modal %}data-dismiss="modal"{% endif %}>{{ _gettext('Cancel') }}</a>
{% endif %}
</div>
</div>
{% endmacro %}
{% macro my_render_from(form, cancel_url, extra=None, form_opts=None, action=None, is_modal=False) -%}
{% call form_tag(action=action) %}
{{ render_form_fields(form, form_opts=form_opts) }}
{{ my_render_form_buttons(cancel_url, extra, is_modal) }}
{% endcall %}
{% endmacro %}
{% block edit_form %}
{{ my_render_form(form, return_url, extra(), form_opts) }}
{% endblock %}