Pregunta

El último par de días que estuvimos discutiendo en otra pregunta la mejor para administrar la aleatoriedad de una manera REST. hoy fui a jugar un poco con algunas ideas en Django solo para encontrar que no hay una manera estándar fácil de devolver una respuesta 303 (ni una 300 uno, por cierto), es decir, no parece existir un HttpResponseSeeOther adentro django.HTTP o en otro lugar.

¿Conoces algún medio para lograr esto?

¿Fue útil?

Solución

Puede anular HttpResponse, como hacen las otras Respuestas:

class HttpResponseSeeOther(HttpResponseRedirect):
    status_code = 303

return HttpResponseSeeOther('/other-url/')

Otros consejos

El objeto HttpResponse genérico 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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top