Djangoエラーチェッカー
2008.08.10 Sunday 22:41
- djangoでプログラムを書く
- manage runserverで試しに動かしてみる
- のっけからエラーで動かない
- 出力されたエラーログを見る
- 一回例外がトラップされているのか,どこでエラーになったのかさっぱり分からない.Traceがあてにならない上,urlsの読み込み失敗の原因がviewsにあったり,syntax errorの原因が正規表現だったりする.
- サーバを止めて,manage shellでシェルを起動.手動importするとsyntax errorが出る
- 直す
という非効率なことはやっていられないと作ったのが以下のスクリプト.たったこれだけだが,ケアレスミスによる手戻りを解消できる
from django.core.management import setup_environ
try:
import settings # Assumed to be in the same directory.
except ImportError:
import sys
sys.stderr.write("Error: Can't find the file 'settings.py'")
sys.exit(1)
setup_environ(settings)
def try_import(module):
try:
__import__(module, {}, {}, [''])
print "OK: ", module
except ImportError:
pass
def check_compile_errors():
for app_name in settings.INSTALLED_APPS:
for mod in ('models', 'views', 'admin', 'urls'):
try_import( app_name + '.' + mod )
try_import( 'urls' )
if __name__ == "__main__":
check_compile_errors()
Comments