Djangoプロジェクトを本番サーバーで実行しようとしています。
私はpipを使用して環境をセットアップしているので、すべてが正常に実行されている開発環境と同じです。唯一の違いは、本番環境で実行されるのはこのプロジェクトだけであるため、本番環境ではvirtualenvを使用しないことです。また、本番環境では、静的コンテンツを提供するNginxリバースプロキシがあり、動的リクエストをApache2に渡します。
Apachewsgiファイルは次のとおりです。
import sys, os
sys.path.append('/home/project/src')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
サーバーにアクセスすると、インポートエラーが発生します。
ImproperlyConfigured: Error importing middleware middleware: "cannot import name UserProfile"
これは、設定によって参照されるsrc/フォルダーの下のmiddleware.pyを参照します。ただし、。/manage.pyシェルプロンプト内からミドルウェアとUserProfileクラスの両方をインポートできます。
wsgiファイルのパスに問題があるようですが、何がわかりません。ディレクトリ構造は次のとおりです。
/home/project
/home/project/src (which contains the settings.py, middleware.py and app folders)
/home/apache/apache.wsgi
どんな助けでも大歓迎です。
ありがとう、oMat