72

一般的に使用する方が良いですか?

書くことに何か利点はありますか:

return redirect(my_url)

以上:

return HttpResponseRedirect(my_url)

それとも直接のエイリアスですか?違いはありますか?どちらがよりpythonic/django-nicですか?

4

2 に答える 2

106

2つの間に違いがあります:

HttpResponseRedirect最初の引数の場合は、のみにすることができますurl

redirectこれは最終的にaを返し、、、、または「to」引数をHttpResponseRedirect受け入れることができます。したがって、「リダイレクト」できる内容が少し柔軟になります。modelviewurl

redirect短い方も好きです。だから私は以上を使用redirectHttpResponseRedirectます。

ただし、どちらも使用できます。

于 2012-11-09T09:28:40.503 に答える
19

ドキュメントから-

redirect(to[, permanent=False], *args, **kwargs)HttpResponseRedirect渡された引数の適切なURLにを返します 。

定義からそれは同じです。それがショートカットの目的です。どちらも同じです。

ショートカットは通常、実際のAPIの1レベル上に記述されます。したがって、argを使用してredirectカプセル化HttpResponseRedirectします。HttpResponsePermanentRedirectpermanent=False

HttpResponseRedirectoverを使用することに大きな欠点はありませんredirect。これがそれをクリアすることを願っています。

于 2012-11-09T08:09:13.927 に答える