このディレクトリからhttp://www.mysite.comへのリクエストを処理するように Apache をセットアップしました。
/var/www/html/www.mysite.com
Django サイトは /var/www/html/www.mysite.com/mysite にあります。
/mysite/app/foo をリクエストすると、次のエラーが表示されます。
(大きなスタック トレース) AttributeError: 'module' オブジェクトに属性 'common' がありません
「myapp.common」は、settings.py ファイルの INSTALLED_APPS にあるすべての Django アプリ ( 「django.contrib.admin」など) の後にリストされている最初の項目です。リストされているモジュールの順序を変更すると、Django は、遭遇したアプリケーションの 1 つの最初のパスでチョークします。
mysite.settings を見つけているため、Python インポート パスは正しいようです。
<場所 "/mysite/"> SetHandler python-プログラム PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE mysite.settings PythonOption django.root /mysite PythonDebug オン PythonPath "['/var/www/html/www.mysite.com'] + sys.path" </場所>
何が問題なのですか?実際のリストに「mysite.common」が含まれているのに、「common」について不平を言っているのは奇妙です。
INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'mysite.common', ....
これは Django のバグですか、それとも設定が間違っていますか? おそらく、外部依存関係をインポート パスに追加する必要がありますか? Django 開発サーバーで問題なく動作します。