2009-01-03 16 views
18

Son birkaç gündür another question numaralı telefondan RESTful bir şekilde rasgeleliği yönetmek için en iyi olanı tartışıyorduk; Bugün Django'daki bazı fikirlerle biraz oynamaya başladım, sadece 303 cevabını (ne de 300 tane, btw) geri döndürmenin standart bir yolu olmadığını, yani bir HttpResponseSeeOther var gibi görünmüyor. django.HTTP veya başka bir yerde.Django'da 303 Http Cevabı nasıl üretilir?

Eğer bu ulaşmak için herhangi bir yöntem biliyor musunuz? Diğer Yanıtlar yaptığı gibi

cevap

25

Sadece, HttpResponse geçersiz olabilir: Eğer yeniden kullanılabilir bir şey gerekiyorsa

response = HttpResponse(content="", status=303) 
response["Location"] = "http://example.com/redirect/here/" 

:

class HttpResponseSeeOther(HttpResponseRedirect): 
    status_code = 303 

return HttpResponseSeeOther('/other-url/') 
+5

Ayrıca bunu bir yama içeren bir bilet olarak da ekleyebilirsiniz. –

20

jenerik HttpResponse nesne istediğiniz herhangi durum kodu belirtmenizi sağlar o zaman Gerald'ın cevabı kesinlikle geçerli; sadece kendi HttpResponseSeeOther sınıfınızı oluşturun. Django, bu belirli sınıfları yalnızca en yaygın durum kodlarından bazıları için sağlar.

İlgili konular