Nach dem Upgrade von django 1.3 auf django 1.5 habe ich diese DeprecationWarnings
während des Testlaufs gesehen:
pfad_zu_virtualenv / lib / python2.6 / site-packages / django / http / request.py: 193: DeprecationWarning: HttpRequest.raw_post_data ist veraltet. Benutzen HttpRequest.body statt.
Ich habe im Projekt nach raw_post_data
gesucht und nichts gefunden. Es wurde also nicht direkt im Projekt verwendet. Dann habe ich INSTALLED_APPS
manuell durchlaufen und festgestellt, dass raven
modul immer noch raw_post_data
verwendet und es die Ursache war, aber ..
Ist es möglich, die Ursache von DeprecationWarning
während des Testlaufs zu sehen? Wie machen Sie diese Warnungen ausführlicher?
Dies stammt aus einer ähnlichen Frage .
Sie können die Warnmodule verwenden, um einen Fehler für DeprecationWarning
auszulösen.
Fügen Sie vorübergehend das folgende Snippet an der Spitze des urls.py
Ihres Projekts hinzu:
Der DeprecationWarning
wird nun einen Fehler auslösen, wenn Sie also debug=True
haben, erhalten Sie die bekannte gelbe Django-Fehlerseite mit dem vollständigen Traceback.
Sie können das Python-Warnsteuerelement über die Befehlszeilenoption -W
festlegen eine Ausnahme mit einem traceback auf DeprecationWarning wie für Fehler anstelle von normalen einfachen Warnung einmal. Jede spezifische Warnung kann durch eine Nachricht, eine Kategorie, ein Modul, eine Zeile oder durch eine Kombination von ihnen gefiltert werden.
Beispiele:
%Vor%Eine Feinfilterung ist nützlich, wenn Sie alle Warnungen eines Typs zusammen durch Stapelbearbeitung in vielen Dateien eines großen Projekts beheben möchten.
Python 2.7 und höher ignorieren DeprecationWarning normalerweise, wenn sie nicht erneut aktiviert werden, z. von -Wd
-Option oder von der Umgebungsvariablen export PYTHONWARNINGS="d"
. Das kann bei Entwicklungsmaschinen nützlich sein, nicht aber bei der Produktion.
Tags und Links python django django-1.5 warnings deprecation-warning