DJango Memo: depuis le début (réglage de l'écran d'erreur)

Tout d'abord, j'étais vaguement conscient des numéros d'erreur tels que 404 et 500, alors j'ai facilement cherché sur Google. http://human-dust.kdn.gr.jp/doujin/net/errormsg.html http://www.seohacks.net/blog/crawl_index/http_statuscode/

Erreur 404

Il est toujours nommé, mais il utilise un module appelé Http404. La description dans le didacticiel est la suivante.

from django.http import Http404
# ...
def detail(request, poll_id):
    try:  #Avec le code ici ...
        pobject = Poll.objects.get(pk=poll_id)  #Qu'est-ce que pk?
    except Poll.DoesNotExist:  #Quand il s'agit de cela ····
        raise Http404  #Traiter comme une erreur 404
    return render_to_response('polls/detail.html', {'poll': pobject})  #Atteignez ici s'il n'y a pas de problème

De plus, il semble y avoir une manière d'écrire plus courte ici aussi. Dans ce cas,

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})

Se sentir comme ça. Est-il acceptable de ne pas utiliser l'instruction try ici? En fait, celui mentionné ci-dessus utilise également les raccourcis qui sont apparus la dernière fois. Personnellement, je ne veux pas utiliser d'abréviations tant que je n'ai pas compris comment cela fonctionne, j'ai donc osé le corriger comme suit.

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))

C'est un peu long, mais je sens que je peux attraper le flux.

Eh bien, c'est bien, mais il semble que DJango a préparé l'écran d'erreur essentiel sans avoir à créer un modèle par vous-même. Je ne ressens pas le besoin de créer le mien jusqu'à présent, alors je vais le parcourir. Si vous souhaitez le créer, vous pouvez le placer dans le répertoire des modèles avec le nom de fichier 404.html. __ Cependant, je n'ai pas compris comment le définir même après avoir lu l'explication (définir une variable appelée handler404 dans URLConf?). __

Comment vérifier:

De plus, il semble qu'il n'y ait pas beaucoup de différence dans ce qu'il faut faire même dans le cas de 500 (erreur de serveur).

Ensuite, nous simplifierons et diviserons URLConf.

Recommended Posts

DJango Memo: depuis le début (réglage de l'écran d'erreur)
DJango Memo: depuis le début (réglage du modèle)
DJango Memo: Depuis le début (préparation)
DJango Memo: depuis le début (plus de modifications sur l'écran de gestion)
Mémo DJango: Depuis le début (en utilisant l'écran de gestion) mon point addictif
DJango Memo: depuis le début (création d'une vue)
Mémo DJango: Depuis le début (édition de l'écran de gestion) Il y a un mystère
Remarque DJango: depuis le début (traitement de formulaire)
Django memo n ° 1 à partir de zéro
Remarque DJango: depuis le début (en utilisant une vue générique)
Remarque DJango: depuis le début (création d'une vue à partir d'un modèle)
Remarque DJango: depuis le début (Simplification et fractionnement d'URLConf)
Mémo inversé de l'écran de gestion Django
Notes d'apprentissage depuis le début de Python 1
Omettre la nomenclature depuis le début de la chaîne
Notes d'apprentissage depuis le début de Python 2
Récupérez uniquement le texte du formulaire Django.
Tout refaire pour l'écran de connexion Django
Recréez l'écran d'inscription du personnel de Django avec la classe
Trouver le début de l'avenomics à partir du grossissement NT 1
Mémo d'apprentissage Django
mémo du didacticiel django
Configuration initiale de django
Paramètres Django + MySQL
Paramètres d'URL de Django
Le mur lors du passage du service Django de Python 2.7 à la série Python 3
Apprenez Nim avec Python (dès le début de l'année).
[Jjango] Afficher le message d'erreur spécifié par lever ValidationError
Étude depuis le début de Python Hour1: Hello World
Transition vers l'écran de mise à jour avec le Django a tag
Étude de Python Hour8: Utilisation de packages