気ままなタンス*プログラミングなどのノートブック

プログラミングやRPGツクール、DTM、VOCALOIDについてのんびり書きます。

【Django】フォームフィールドを任意入力項目にする

アプリには必須入力項目と任意入力項目がある。
Djangoで、任意入力項目とするには、required=Falseを指定すれば良い。

"""forms.py"""
from django import forms

class AnyForm(forms.Form):
    any_name = forms.CharField(max_length=100)
    any_memo = forms.CharField(required=False, max_length=1000)

"""views.py"""

def any_action(request, any_id):
    if any_id:
        any = get_object_or_404(AnyModel, pk=any_id)
    else
        any = AnyModel()

    if request.method == "POST":
        form = AnyForm(request.POST)
        # ...省略
    else
        if any_id:
            form_data = {'any_name':any.name, 'any_memo':any.any_memo}
            form = AnyForm(initial=form_data)
            # ...省略