1

DjangoURLディスパッチャーのメソッドに関するドキュメントを読み終えました。reverse()

いつ役に立ちますか?

ありがとうございました!

4

3 に答える 3

6

この関数はドライ原則をサポートしています。アプリ全体でURLをハードコーディングしないようにします。URLは1つの場所で定義する必要があり、1つの場所(URL conf )のみで定義する必要があります。その後、あなたは本当にその情報を参照しているだけです。

ビューへのパス、またはurl confからreverse()のパラメーターのいずれかを指定して、ページのURLを指定するために使用します。page_nameテンプレートで。を使用して実行しても意味がない場合に使用し{% url 'my-page' %}ます。

この機能を使用できる場所はたくさんあります。私がそれを使用していることがわかった場所の1つは、ビュー内のユーザーをリダイレクトするときです(多くの場合、フォームの処理が成功した後)-

return HttpResponseRedirect(reverse('thanks-we-got-your-form-page'))

テンプレートタグを作成するときにも使用できます。

私が使用した別の時間reverse()は、モデルの継承でした。親モデルにを持っていましたが、それらの親オブジェクトのいずれかから、それに関連付けられた子オブジェクトのListViewに取得したいと考えていました。子の存在を識別し、それが使用しているURLを返す関数を親DetailViewにアタッチしました。get__child_url()DetailViewreverse()

于 2013-01-22T07:09:48.097 に答える
3

reverse()関数は、ビューでDRY準拠のURLを実現するためにdjangoで使用されます。ここでより明確な説明を見つけてください

于 2015-05-29T16:13:02.220 に答える
2

これは、コード内のURLへの引数とともに名前でビューを解決する場合に使用されます。{% url %}これは、テンプレートタグのバックエンドです。

于 2013-01-22T07:04:14.460 に答える