2016-09-21 6 views
0

です。私はDjangoでCreateViewクラスを拡張してフォームを作成していますが、すべて正常に動作します。
しかし私がよく理解していないのは、フォームが送信されると、Webブラウザは自動的にモデルのget_absolute_url()メソッドで指定されたURLにリダイレクトされるということです。
'success_url'フィールドは、そのメソッドから返されたURLによって割り当てられている点で、デフォルトの動作ですか?'success_url'変数のデフォルト値は

+2

あなたが何を求めているか分かりません。 CreateViewの[get_success_url() '](https://github.com/django/django/blob/master/django/views/generic/edit.py#L143)のデフォルト実装は、モデルの' get_absolute_url'を呼び出しますifそれ以外の値は定義されません。 –

+0

あなたのビューコードを表示できますか? – GwynBleidD

+0

@DanielRosemanそうですね。私は十分に深いドキュメンテーションを掘り下げなかったように見えます。 – tomwyr

答えて

3

ビュークラスがsuccess_url属性を定義している場合、これは成功URLとして使用されます。それ以外の場合は、作成/編集されたオブジェクトのメソッドget_absolute_url()が使用されます。ドキュメントhereを参照してください。

オブジェクトの絶対URLにリダイレクトしたくない場合は、クラスにsuccess_urlを定義するか、さらに詳細に微調整する必要がある場合はクラスのget_success_url()メソッドを再定義することができます。

関連する問題