9

Windows ボックスに新しい開発環境をセットアップしています。Python と django を正常にインストールした後、新しいマシンにリポジトリを複製しました。

manage.py syncdb正常に実行された後、 を実行しましたmanage.py runserverが、ヒットlocalhost:8000するとタイトルにエラーが発生します。そこから実行django-admin.py startproject testprojectして実行manage.py runserverしたところ、そのプロジェクトは正常に読み込まれたため、django のインストールを除外した可能性があると思いますが、ここで次のステップが必要です。

これは、爆撃する私のアプリからのスタックトレースです。あなたが私に与えることができる助けをいただければ幸いです。

Environment:


Request Method: GET
Request URL: http://localhost:8000/

Django Version: 1.4.1
Python Version: 2.7.3
Installed Applications:
('django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.admin',
 'api',
 'contact',
 'lessons',
 'mainsite',
 'piston',
 'registration',
 'utils')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware')


Traceback:
File "C:\Python27\lib\site-packages\django\core\handlers\base.py" in get_response
  111.                         response = callback(request, *callback_args, **callback_kwargs)
File "C:\Users\Matthew\myapp\harmonyschedules\mainsite\views.py" in index
  16.     return render_to_response('mainsite/index_redes.html', context_instance=RequestContext(request))
File "C:\Python27\lib\site-packages\django\shortcuts\__init__.py" in render_to_response
  20.     return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)
File "C:\Python27\lib\site-packages\django\template\loader.py" in render_to_string
  169.         t = get_template(template_name)
File "C:\Python27\lib\site-packages\django\template\loader.py" in get_template
  145.     template, origin = find_template(template_name)
File "C:\Python27\lib\site-packages\django\template\loader.py" in find_template
  128.             loader = find_template_loader(loader_name)
File "C:\Python27\lib\site-packages\django\template\loader.py" in find_template_loader
  95.             mod = import_module(module)
File "C:\Python27\lib\site-packages\django\utils\importlib.py" in import_module
  35.     __import__(name)
File "C:\Python27\lib\site-packages\django\template\loaders\app_directories.py" in <module>
  24.     template_dir = os.path.join(os.path.dirname(mod.__file__), 'templates')

Exception Type: AttributeError at /
Exception Value: 'module' object has no attribute '__file__'
4

3 に答える 3

17

あなたのをインポートするときに問題が発生しますsettings.INSTALLED_APPS

for app in settings.INSTALLED_APPS:
    try:
        mod = import_module(app)
    except ImportError as e:
        raise ImproperlyConfigured('ImportError %s: %s' % (app, e.args[0]))
    template_dir = os.path.join(os.path.dirname(mod.__file__), 'templates')

どのモジュールが問題を引き起こしているかを特定する方がはるかに簡単なようです。Django でこの種の問題を簡単にデバッグするための一般的な方法の 1 つは、Werkzeugを使用することです。これにより、ブラウザー内デバッガーを使用して、エラーが発生したときに変数の値をすばやく確認できます。

現在、この問題を引き起こしているモジュールはpiston[関連するスレッド] であると強く疑っています。__init__.pyあるディレクトリにファイルを作成することで修正できますpiston

于 2012-09-22T04:20:19.693 に答える
11

この問題は、アプリケーションが Python パッケージではないときにアプリケーションを使用しようとすると発生するため、アプリケーションの__init__.pyルート ディレクトリにファイルがあることを確認してください。

于 2012-09-22T10:35:46.227 に答える