私はPHPのバックグラウンドから来て、コードのほとんどどこでもvar_dumpを実行して結果を得ることができるのが好きでした.
シェル (./manage.py シェル) を使用すると python/django のように見えますが、その方法でメソッドをデバッグできますが、それほど高速ではありません。
PHP では、すばらしいxdebug拡張機能に慣れていることでしょう。
Python では、従来のデバッガーを生成します (これをxdebug_break()を配置する場所に配置します:
import pdb; pdb.set_trace()
私のお気に入りは ipdb モジュール ( pip install ipdb
) です。
import ipdb; ipdb.set_trace()
コマンドを提供するwerkzeug ( pip install werkzeug
) およびdjango-extensions ( pip install django-extensions
and add django_extensions
to ) を使用することもできます。settings.INSTALLED_APPS
runserver_plus
それは本当に、本当に素晴らしいです。これはおそらく、二度と php を振り返らないようにすることの 1 つです。とにかく、runserver_plus
似runserver
ていますが、デフォルトのdjangoスタックトレースページを、スタックトレースの各フレームで利用可能なajaxインタラクティブシェルに置き換えます. もちろん、コードのどこかにcrash
またはのようなものを配置することで取得できます。random_undefined_variable_name
Python には、pdbと呼ばれるデバッガーによる素晴らしいステップがあります。開発用の組み込み Web サーバーを使用して Django をフォアグラウンドで実行する場合、コード内で次のようなステートメントをスローできます。
import pdb; pdb.set_trace()
およびその他の pdb コマンドを実行すると、デバッガーが起動します。このためのdjango プラグインもあります。