0

だから私はこの答えを見ました:

http://stackoverflow.com/a/11072057/1061426

誰かが言ったこと:

この行を変更します。

form = StatementForm(request.POST, initial={'time': d.strftime("%Y-%m-%d %H:%M:%S"), 'user':loggedin_user, 'views':0})

このため:

form = StatementForm(initial={'time': d.strftime("%Y-%m-%d %H:%M:%S"),'user':loggedin_user, 'views':0})

request.POSTを含める場合と含めない場合の違いは何ですか?または、もっと重要なことですが、値Xがrequest.POSTに設定されていないが、初期配列含まれている場合、is_valid()メソッドはXのどの値を参照しますか?

編集:私が求めているのは〜上記で優先されるものだと思いますか?request.POSTとイニシャルが追加された場合、初期値はrequest.POST値を上書きしますか?「空の」値は上書きできますか?
(私が関係する質問では、作成者が誤ってrequest.POSTを使用して、メソッドがgetのときにStatementFormをシードしていたため、問題が発生していました。)

4

1 に答える 1

2

initial実行時にフォームの初期値を設定するために使用される引数です。

現在、request.POSTフォームをバインドしてデータを投稿するために使用されます。たとえばPOST、関連するすべてのフィールドを使用してブラウザからフォームを送信すると、次の場所にあるformオブジェクトに割り当てられます。request.POST

Xがフォームに設定されていない場合、値は初期値(存在する場合)から取得されます。

ここでイニシャルについて読むことができます

于 2012-09-26T19:15:25.923 に答える