urls template example python django http rest

python - template - ¿Cómo producir una respuesta de 303 Http en Django?



httpresponse django example (2)

El último par de días discutimos en otra pregunta lo mejor para manejar la aleatoriedad de una manera RESTful; Hoy fui a jugar un poco con algunas ideas en Django solo para encontrar que no hay una forma estándar fácil de devolver una respuesta 303 (ni una 300, por cierto), es decir, no parece existir un HttpResponseSeeOther inside django.HTTP o en otro lugar.

¿Conoces algún medio para lograr esto?


El objeto genérico HttpResponse le permite especificar cualquier código de estado que desee:

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

Si necesita algo reutilizable, la respuesta de Gerald es definitivamente válida; simplemente crea tu propia clase HttpResponseSeeOther. Django solo proporciona estas clases específicas para algunos de los códigos de estado más comunes.


Podrías anular HttpResponse, como las otras respuestas:

class HttpResponseSeeOther(HttpResponseRedirect): status_code = 303 return HttpResponseSeeOther(''/other-url/'')