Vorrei restituire 410 errori per alcune mie pagine Django invece di restituire 404s. Fondamentalmente, invece di chiamare raise Http404('some error message')
, mi piacerebbe invece chiamare il collegamento raise Http410('some error message')
.Come aumentare un errore 410 in Django
Sono confuso, perché in django.http, la funzione Http404 è semplicemente:
class Http404(Exception):
pass
Quindi, se io faccio la stessa cosa e creare il mio Http410 funzione, vorrei assumere che sarebbe simile:
class Http410(Exception):
pass
Tuttavia, l'operazione restituisce l'eccezione ma visualizza una pagina di errore di 500. Come posso ricreare la magia dell'eccezione Http404? Dovrei notare, ho bisogno di aumentare l'eccezione dai miei modelli (non le visualizzazioni), quindi non posso semplicemente restituire un HttpResponseGone.
Grazie in anticipo!
Aggiornamento: Sono perfettamente a conoscenza di HttpResponseGone e ho menzionato questo nella mia domanda originale. So già come restituirlo nelle mie opinioni. La mia domanda è: come si fa a sollevare un'eccezione Http 410 in modo simile a come si genera un'eccezione Http 404? Voglio essere in grado di sollevare questa eccezione ovunque, non solo nelle mie opinioni. Grazie!
Perfetto. Grazie! – Spike
Inoltre, grazie per il tuo commento su quanto andato dovrebbe essere normale flusso di lavoro anziché una condizione di errore. Lo terrò a mente. – Spike
@Spike Qualsiasi motivo per cui non è possibile restituire un oggetto 'HttpResponseGone' invece di sollevare un'eccezione e avere il middleware iniettare l'oggetto, invece? – Santa