12

Djangoがローカルホストで実行されているかどうかを判断し、それに応じてDEBUG変数を設定する方法はありますか?settings.py

そのため、サーバーをローカルで実行すると、に設定さDEBUGTrue、それ以外の場合はに設定されFalseます。

ローカルホスト:python manage.py runserver
ローカルホストではありません:python manage.py runserver 0.0.0.0:8000

4

3 に答える 3

20

Bernhard Vallant が提案したように、チェックインするだけrunserverですsys.argv

DEBUG割り当てを次のように置き換えるだけですsettings.py

DEBUG = (sys.argv[1] == 'runserver')

import sysのどこかにあるはずsettings.pyです。

于 2012-08-19T16:54:46.637 に答える
0

あなたの質問に対するこの受け入れられた関連する回答へのパーマリンクを設定できませんでした。だから、それを貼り付けるだけです:-

server = request.META.get('wsgi.file_wrapper', None)
if server is not None and server.__module__ == 'django.core.servers.basehttp':
    print 'inside dev'

もちろん、wsgi.file_wrapper は META で設定され、django.core.servers.basehttp という名前のモジュールのクラスが別のサーバー環境で偶然に作成されている可能性がありますが、これでカバーできることを願っています。

PS: Django アプリケーションが開発サーバーで実行されているかどうかを確認するにはどうすればよいですか? を参照してください。詳細については

于 2012-08-19T15:43:37.427 に答える