1

dotcloud で Django サーバーを実行しているときにブレークポイントを設定する方法を見つけようとしています。

次の有望なリンクhttp://docs.dotcloud.com/tutorials/python/django/#advanced-debugging-with-werkzeugを見つけました。

Web ページを検索したところ、デバッガーへの参照が見つかりませんでした。

この機能は dotcloud で引き続き使用できますか? そうでない場合、別の良い選択肢はありますか?

4

2 に答える 2

1

上記の回答のコードは、Python 3 では機能しなくなりました。

Python 3.3 で同じことを行う方法は次のとおりです。

import django.views.debug

def null_technical_500_response(request, exc_type, exc_value, tb):
    raise exc_type(exc_value).with_traceback(tb)
django.views.debug.technical_500_response = null_technical_500_response

from werkzeug.debug import DebuggedApplication
application = DebuggedApplication(application, evalex=True)
于 2014-01-28T18:46:57.883 に答える
1

werkzeug デバッガーを有効にする前に考慮すべき事項:

  • werkzeug デバッガーを有効にすると、例外をトリガーするすべてのユーザーがコードとデータ (データベースのパスワードやその他の機密資格情報を含む) にアクセスできるようになります。注意して、必要以上に長く有効にしたままにしたり、許可されていないユーザーをブロックするために保護レイヤーを追加したりしないでください!
  • デバッグが完了したら、古い wsgi.py ファイルを復元し、コードを再度プッシュします (必要に応じて、requirements.txt に werkzeug を残すことができます。それは問題ではありません)。

設定するためにできることは次のとおりです。

1) 以下を wsgi.py に追加します。

# The following lines enable the werkzeug debugger
import django.views.debug

def null_technical_500_response(request, exc_type, exc_value, tb):
    raise exc_type, exc_value, tb
django.views.debug.technical_500_response = null_technical_500_response
from werkzeug.debug import DebuggedApplication
application = DebuggedApplication(application, evalex=True)

2) 以下を requirements.txt に追加します。

werkzeug

デバッガーの簡単なサンプルを試してみたい場合は、対話型デバッガーのセットアップ例を用意しました。このテスト アプリは、数日間のみ利用できます。http://django-johndotcloud.dotcloud.com/raise/

参考文献:

于 2013-07-26T15:19:50.337 に答える