[PYTHON] DJango Memo: Von Anfang an (Fehlerbildschirmeinstellung)

Zuallererst waren mir Fehlerzahlen wie 404 und 500 vage bewusst, so dass ich leicht googelte. http://human-dust.kdn.gr.jp/doujin/net/errormsg.html http://www.seohacks.net/blog/crawl_index/http_statuscode/

404 Fehler

Es heißt immer noch, verwendet aber ein Modul namens Http404. Die Beschreibung im Tutorial lautet wie folgt.

from django.http import Http404
# ...
def detail(request, poll_id):
    try:  #Mit dem Code hier ...
        pobject = Poll.objects.get(pk=poll_id)  #Was ist pk?
    except Poll.DoesNotExist:  #Wenn es darum geht ····
        raise Http404  #Als 404-Fehler behandeln
    return render_to_response('polls/detail.html', {'poll': pobject})  #Erreichen Sie hier, wenn es kein Problem gibt

Auch hier scheint es eine verkürzte Schreibweise zu geben. In diesem Fall,

from django.shortcuts import render_to_response, get_object_or_404
# ...
def detail(request, poll_id):
    pobject = get_object_or_404(Poll, pk=poll_id)
    return render_to_response('polls/detail.html', {'poll': pobject})

Ich fühle mich so. Ist es in Ordnung, die try-Anweisung hier nicht zu verwenden? Tatsächlich verwendet der oben erwähnte auch beiläufig die Verknüpfungen, die beim letzten Mal erschienen sind. Persönlich möchte ich keine Abkürzungen verwenden, bis ich verstanden habe, wie es funktioniert, also habe ich es gewagt, es wie folgt zu beheben.

from django.http import Http404
#…
def detail(request,poll_id):
	try:
		pobject = Poll.objects.get(pk=poll_id)
	except Poll.DoesNotExist:
		raise Http404
	temp = loader.get_template('polls/detail.html')
	contxt = Context({
		'poll':pobject
	})
	return HttpResponse(temp.render(contxt))

Es ist ein bisschen lang, aber ich habe das Gefühl, ich kann den Fluss fangen.

Wenn Sie es erstellen möchten, können Sie es im Vorlagenverzeichnis mit dem Dateinamen 404.html ablegen. __ Ich habe jedoch nicht verstanden, wie ich es einstellen soll, selbst nachdem ich die Erklärung gelesen habe (definieren Sie eine Variable namens handler404 in URLConf?). __ So überprüfen Sie: ##### * Setzen Sie DEBUG in settings.py auf False (wenn True, hat Traceback Vorrang) * Setzen Sie auch ALLOWED_HOSTS (es scheint, als ob Sie Ihre eigene Domain wie '.example.com' setzen). Wenn jedoch etwas in Ordnung ist, ist '*' in Ordnung.) Es scheint, dass es keinen großen Unterschied gibt, was zu tun ist, selbst im Fall von 500 (Serverfehler). Als nächstes werden wir die URLConf vereinfachen und aufteilen.

Recommended Posts

DJango Memo: Von Anfang an (Fehlerbildschirmeinstellung)
DJango Memo: Von Anfang an (Modelleinstellung)
DJango Memo: Von Anfang an (Vorbereitung)
DJango Memo: Von Anfang an (weitere Änderungen am Verwaltungsbildschirm)
DJango-Memo: Von Anfang an (über den Verwaltungsbildschirm) mein Suchtpunkt
DJango Memo: Von Anfang an (Erstellen einer Ansicht)
DJango-Memo: Von Anfang an (Bearbeiten des Verwaltungsbildschirms) Es gibt ein Rätsel
DJango Hinweis: Von Anfang an (Formularverarbeitung)
Django Memo # 1 von Grund auf neu
DJango Hinweis: Von Anfang an (mit einer generischen Ansicht)
DJango Hinweis: Von Anfang an (Erstellen einer Ansicht aus einer Vorlage)
DJango Hinweis: Von Anfang an (Vereinfachung und Aufteilung von URLConf)
Django Management Screen Reverse Memo
Notizen vom Anfang von Python 1 lernen
Lassen Sie die Stückliste am Anfang der Zeichenfolge weg
Notizen vom Anfang von Python 2 lernen
Holen Sie sich nur den Text aus dem Django-Formular.
Wiederholen Sie alles für den Django-Anmeldebildschirm
Erstellen Sie den Registrierungsbildschirm für Django-Mitarbeiter mit Klasse neu
Finden des Beginns der Avenomics anhand der NT-Vergrößerung 1
Django Lernnotiz
Django Tutorial Memo
Grundeinstellung von Django
Django + MySQL-Einstellungen
Django URL-Einstellungen
Die Wand beim Ändern des Django-Dienstes von Python 2.7 auf Python 3-Serie
Lerne Nim mit Python (ab Anfang des Jahres).
[Jjango] Zeigt die Fehlermeldung an, die durch Auslösen von ValidationError angegeben wurde
Studie vom Anfang von Python Hour1: Hallo Welt
Übergang zum Update-Bildschirm mit dem Django-Tag
Studie aus Python Hour8: Verwenden von Paketen