4

長い時間、flask-admin と wtforms のドキュメントとソース コードの両方を調べた後でも、flask-admin モデル フォームの入力フィールドのサイズを変更する方法を理解できませんでした。

wtf の「クラッシュ コース」ページによると、次のように、テンプレートのフォーム フィールド css パラメータに渡すことができるはずです (jinja2 の例)。

<form method="POST" action="/login">
    <div>{{ form.username.label }}: {{ form.username(size="10") }}</div>
    <div>{{ form.password.label }}: {{ form.password() }}</div>
</form>

ただし、Flask-Admin フォーム フィールド/テンプレートでは、これは不可能のようです。少なくとも私はこれを行うための適切な方法を見つけていません

アドバイスをいただければ幸いです

4

2 に答える 2

4

ModelViewからクラスを拡張する場合flask.ext.admin.contrib.sqlaは、使用するテンプレートの値をオーバーライドできます。次のように、モデルのリスト ビュー、作成ビュー、または編集ビューのいずれかをオーバーライドできます。

class CustomAdminView(ModelView):
    list_template = "list_template.html"
    edit_template = "edit_template.html"
    create_template = "create_template.html"
    ...

これらのテンプレートはそれぞれ自分で作成する必要があり、デフォルトの管理テンプレートを拡張して、すべての特注の管理ビューとの一貫性を保つことができます。したがって、テンプレートの例は次のようになります。

<style type="text/css">
    .select2-container, .select2-container-active, #title, #author, #description {
        width: 75% !important;
    }
    .controls div input {
        height: 40px;
    }
    .select2-search-choice {
        width: 90%;
    }
    #visible {
        float: left;
        text-align: left;
    }
</style>
{% extends 'admin/model/edit.html' %}

最後の行:{% extends 'admin/model/edit.html' %}に注意してください。これは、Flask Admin からデフォルトの編集ビューを拡張します。edit代わりに、これらのビューを変更listまたはcreate拡張することができます。

問題が解決することを願っています。

于 2015-06-08T14:03:08.433 に答える