0

ビュー.py

def fadded(リクエスト):
    request.method == "POST" の場合:
        fform = FtForm(リクエスト.POST)
        bform = BgForm(リクエスト.POST)
        fform.is_valid() および bform.is_valid() の場合:
            bcontent=bform.save()
            fcontent=fform.save()

        そうしないと:
            return render_to_response("ft.html", {
            "フォーム": フォーム,
            "bform": bform,
            },context_instance=RequestContext(リクエスト))
    return HttpResponse('OK!')

ft.html

...
    {% if form.errors%}
    
    {% form.errors のエラー %} {{エラー|エスケープ}} {% endfor %}
{% endif %} ...

モデルフォームには、fform と bform の 2 つがあります。これらは 2 つの異なるモデルを表していますが、同じテンプレートで使用されています。両方を保存し、両方からフォーム/フィールドエラーを取得しようとしています。しかし、すでに fform.errors がある場合、django は bform.errors を表示しません (おそらく bform も作成しません)。別の方法の提案はありますか?

4

2 に答える 2

0

djangoはbform.errorsを表示しません(そしておそらくbformも作成しません)

設定があれば、両方のフォームにデータが渡され、検証の準備が整います。問題はないはずです。

テンプレートでは、両方のフォームエラーを表示する必要があります(テンプレートでチェックされているフォームは1つだけです)

{{ fform.errors }} <!-- show errors from fform -->
{{ bform.errors }} <!-- show errors from bform -->
于 2011-03-14T01:03:28.347 に答える