2010-10-13 2 views
1

Lorsque Django est en place, il gère 500 erreurs. Lorsque Django est vissé, mod_python jettera un os "Internal Server Error". Ceci est bien décrit dans la documentation à l'adresse suivante:Comment puis-je remplacer l'erreur 500 par défaut de mod_python quand des problèmes de configuration de Django "foutus" se produisent?

http://docs.djangoproject.com/en/dev/howto/deployment/modpython/#error-handling

Ma question: Est-il possible de passer outre que « Internal Server Error » la page sans écraser les Django 500 pages? La seule façon que je peux trouver pour le contourner est en vrille avec le paramètre ErrorDocument d'Apache, qui va ensuite remplacer tous les 500, qu'ils soient gérés par Django ou Apache.

Existe-t-il un moyen de négocier cela afin que Django gère les erreurs Django, mais personnalise toujours le message par défaut? J'aimerais bien savoir.

Merci d'avance!

Répondre

0

Pour cette VirtualHost ou cette configuration, vous pouvez spécifier l'erreur Apache HTTP 500. La mise en œuvre des messages d'erreur personnalisés est facile

il suffit d'ajouter la ligne à votre configuration apache

ErrorDocument 500 http://www.example.com/error_500.html 

Pour plus d'informations: http://httpd.apache.org/docs/2.0/custom-error.html

+0

Andrew, merci pour la pointe. J'ai fait ce que tu as dit, et ça marche. Mais l'inconvénient est qu'il semble surpasser * toutes les * 500 erreurs, même celles que Django sert habituellement qui ne sont pas liées au problème de configuration. Je suis à la recherche d'une solution qui ne se déclenchera que dans une erreur "pré-Django", comme celle décrite dans le lien ci-dessus, et tout Django gère plus d'erreurs "typiques" 500. – palewire

Questions connexes