関連するディレクトリ構造は次のとおりです(Windows 7、Python 2.7、virtualenv)
-userProf
- - manage.py
- -UserProfile
- sampleapp_db
- urls.py
- views.py
- wsgi.py
- __init__.py
-
-libs
- - __init__.py
- -allauth
- - app_settings.py
- - models.py
- - tests.py
- - urls.py
- - utils.py
- - __init__.py
- -
- -account
- - - admin.py
- - - context_processors.py
- - - models.py
- - - urls.py
- - - __init__.py
- -socialaccount
- - - admin.py
- - - context_processors.py
- - - models.py
- - - urls.py
- - - views.py
- - - __init__.py
- - -
- -templates
- -account
- - - base.html
- - - email.html
-settings
- base_settings.py
- dev.py
- __init__.py
-
-static
-css
この django アプリを実行しようとすると、次のエラーが発生します エラー:アカウントという名前のモジュールはありません
syspath が問題である、または appname がプロジェクト名と一致することを参照している SO に関する他の投稿を読みました。
Django Shell 設定という名前のモジュールはありません
...この結果、base_settings.py ファイルに次のステートメントを追加しました。
import sys
base = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
base_parent = os.path.dirname(base)
sys.path.append(base)
sys.path.append(base_parent)
sys.path.append(os.path.join(base,'libs'))
sys.path.append(os.path.join(base,'libs','allauth','account'))
PyCharmにブレークを入れてsys.pathを評価することで、sys.pathが正しいことを確認しました
これをmanage.pyに入れるべきですか?
モジュールをインポートできないと言及している他の SO 投稿もありますが、Python コンソールを起動して、例外がスローされることなく UserProfile.libs.allauth.account をインポートできます。
私のbase_settings.pyには、次の関連セクションがあります
INSTALLED_APPS = (
'UserProfile.libs.allauth.account',
)