0

私は現在CreateViewクラスに使用していOrderます。

urls.py見た目の一部はこんな感じ

url(
    r'^orders/create/$',
    CreateView.as_view(
        model = Order,
        template_name = 'doors/orders/create.html'
    ),
    name = 'orders_create'
),

単に{{ form }}insideを実行するoors/orders/create.htmlと、で宣言されたすべてのフィールドが表示されmodels.pyます。

各フィールドの外観をカスタマイズし、それらが表示されるかどうかを制御するための最良の方法は何ですか(一部のフィールドはオプションです)。

4

1 に答える 1

1

モデルのどのフィールドをフォームで使用できるかに関する質問の一部に答えるために、を使用してカスタムフォームを作成できますModelForm。オプションfieldsexclude、次の形式で使用できるフィールドを定義します。

https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#using-a-subset-of-fields-on-the-form

CreateView次に、次を追加して、カスタムフォームを使用するように指示しform_classます。

url(
    r'^orders/create/$',
    CreateView.as_view(
        model = Order,
        template_name = 'doors/orders/create.html',
        form_class = OrderCreateForm,
    ),
    name = 'orders_create'
),

質問の2番目の部分(フォームとそのフィールドのスタイルを設定する方法)に関しては、を使用する{{ form.as_p }}{{ form.as_table }}、完全にカスタムのテンプレートをまとめることができます。

https://docs.djangoproject.com/en/dev/topics/forms/#displaying-a-form-using-a-template

于 2012-03-28T07:59:38.453 に答える