4

Eclipse/PyDev、Python 2.6、Django 1.1

すべて実行モードで動作しています。manage.py ファイル内にデバッグ ポイントを配置すると、ブレークポイントが機能しました。しかし、私がそれをアクションメソッドに入れたとき、それは何も引き起こしません:(

4

2 に答える 2

10

通常、問題はdjangoで自動リロードを使用して実行していることです。この場合、別のプロセスが実際にページをフィードしているため、リロードなしオプションを使用して実行するか、リモートデバッガーを使用する必要があります。

(Djangoで動作するようにPyDevを構成するには、http://pydev.org/manual_adv_django.htmlを参照してください

自動リロード機能(新しいDjango実行を作成するときにPyDevが自動的に実行する必要があります)なしで実行する場合は、すべてを直接実行できることに注意してください(つまり、デバッガーと起動に特別な調整は必要ありません)。


:状況は最近少し改善されたため、上記の回答はまだ有効ですが、自動リロードをオンにして開発したい人のために改善があります。


自動リロードをオンにして回答します。

開発中に自動リロードをオンにしたい場合は、PyDevとDjango:開発サーバーを再起動する方法のヒントを使用してください。(メインプロセスが強制終了されたときにDjangoが子プロセスを存続させる問題を克服するため)

また、http: //pydev.org/manual_adv_remote_debugger.htmlでリモートデバッガーに関連するセッションを参照して、自動リロード機能を使用するときにデバッガーをPyDevに接続する方法を確認してください(主に、リモートデバッガーを起動する必要があります) 、ただし、ブレークポイントは定期的に追加され、メインセッションの前にpydevd.patch_django_autoreload()を呼び出すと、PyDevはブレークポイントで停止します(例:) before if __name__ == "__main__":, add the following: import pydevd;pydevd.patch_django_autoreload()

于 2010-01-06T23:48:00.603 に答える