2017-04-14 59 views

回答

2

flask-admin代碼搜索之後,我發現按鈕呈現與宏觀render_formrender_form_buttonsextra。這些按鈕的值是{{ _gettext("blabla") }}的硬編碼。

由於這些按鈕不是數據模型的字段,我們不能使用rendering rules來自定義值。我認爲有兩種變通來完成這件事:

  • 變化,這在flask-admin源使這些按鍵宏(render_form_buttonsextra
  • flask-admin使用flask-babelex做本地化({{ _gettext("blabla") }}),你可以'翻譯' Savesubmitconfirm與燒瓶-babelex

UPDATE:

您可以在您自己的模板目錄中自定義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 %} 
+0

@ stamaimer,謝謝,但修改我的**模板**文件夾中的edit.html後沒有工作。 – Samoth

+0

你有沒有在模型視圖中設置'edit_template = path_to_your_custom_edit_template'? – stamaimer

+0

你的意思是這樣的:''edit_template ='edit.html''這是''我的'app.py'的類CustomView(ModelView)'? – Samoth