2012-11-09 17 views
37

Genel olarak hangisi daha iyidir?Ne Django HttpResponseRedirect yönlendirmek ve kullanma arasındaki fark nedir?

yazmaya bir avantajı var mı:

return redirect(my_url) 

üzerinde:

return HttpResponseRedirect(my_url) 

Ya da doğrudan bir diğer adıdır? Fark var mı? Daha pythonic/django-nic hangisi? belgelerine

cevap

46

ikisi arasında bir fark yoktur. sonuçta "dan" argümanı var gibi bir HttpResponseRedirect bir model, view veya url kabul edebilir dönmek olacak

redirect

. Bu yüzden "yönlendirmek" için biraz daha esnek.

Ayrıca redirect'un daha kısa olmasını da seviyorum. Yani HttpResponseRedirect üzerinden redirect kullanırdım.

İkisi

olsa kullanmak iyi.

6

-

redirect(to[, permanent=False], *args, **kwargs) geçirilen bağımsız değişkenler için uygun URL'ye HttpResponseRedirect döndürür. onun aynı tanımından

. Bu hangi kısayollar içindir. Her ikisi de aynıdır.

kısayolları genellikle fiili APı'NIN yukarıda bir seviye yazılır. Yani redirect arg permanent=False ile HttpResponseRedirect ve HttpResponsePermanentRedirect kapsüller. redirect üzerinden HttpResponseRedirect kullanmanın büyük bir dezavantajı yoktur. Umarım bunu temizler.

İlk argüman sadece url olabilir HttpResponseRedirect durumunda:

İlgili konular