Πώς μπορώ να πάρω Django 1.0 για να γράψει όλα τα λάθη στην κονσόλα ή ένα αρχείο καταγραφής όταν τρέχει runserver σε κατάσταση εντοπισμού σφαλμάτων;
Έχω δοκιμάσει χρησιμοποιώντας μια κατηγορία middleware με τη λειτουργία process_exception όπως περιγράφεται στην αποδεκτή απάντηση στο ερώτημα αυτό:
Πώς μπορείτε να συνδεθείτε σφάλματα διακομιστή στον ιστότοπό Django
Η λειτουργία process_exception καλείται για ορισμένες εξαιρέσεις (π.χ. διεκδικούν (Ψευδές) σε views.py), αλλά process_exception δεν παίρνει έκκληση για άλλα λάθη όπως ImportErrors (π.χ. thisclassdoesnotexist εισαγωγής urs.py). Είμαι νέος στο Django / Python. Είναι αυτό γιατί κάποια διάκριση μεταξύ χρόνου εκτέλεσης και κατάρτιση σφάλματα χρόνου; Στη συνέχεια, όμως θα περίμενα runserver να διαμαρτύρονται αν ήταν ένα σφάλμα μεταγλώττισης και δεν το κάνει.
Έχω προσέξει φανταστική παρουσίαση του Simon Willison για Django debugging ( http://simonwillison.net/2008/May/22/debugging/ ), αλλά δεν είδα μια επιλογή που θα μπορούσε να λειτουργήσει καλά για μένα.
Σε περίπτωση που αυτό είναι σχετικό, γράφω ένα app του Facebook και του Facebook μάσκες HTTP 500 σφάλματα με το δικό τους μήνυμα αντί να δείχνει φοβερά ενημερωτικό 500 σελίδα του Django του. Γι 'αυτό χρειάζονται έναν τρόπο για όλα τα είδη των λαθών που θα γραφτεί στην κονσόλα ή αρχείο.
Επεξεργασία: Υποθέτω προσδοκία μου είναι ότι αν Django μπορεί να επιστρέψει μια σελίδα 500 λάθους με πολλές λεπτομέρειες, όταν έχω μια κακή εισαγωγής (ImportError) σε urls.py, θα πρέπει να είναι σε θέση να γράψει την ίδια λεπτομέρεια στην κονσόλα ή ένα αρχείο χωρίς να χρειάζεται να προσθέσετε οποιοδήποτε επιπλέον χειρισμό εξαίρεση στον κώδικα. Δεν έχω δει ποτέ χειρισμό εξαίρεση γύρω από τις δηλώσεις εισαγωγής.
Ευχαριστώ, Jeff













