这是我的相关目录结构(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
Run Code Online (Sandbox Code Playgroud)
当我尝试运行此django应用程序时出现以下错误 错误:没有名为account的模块
我已经阅读了SO上的其他帖子,这些帖子指的是syspath是问题,或者appname与项目名称匹配
...因此,我在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'))
Run Code Online (Sandbox Code Playgroud)
我通过在PyCharm中放置一个中断并评估sys.path来验证sys.path是正确的
我应该把它放在manage.py中吗?
其他一些SO帖子提到无法导入模块但我可以启动python控制台并导入UserProfile.libs.allauth.account而不会抛出任何异常!
我的base_setings.py有以下相关部分
INSTALLED_APPS = (
'UserProfile.libs.allauth.account',
)
Run Code Online (Sandbox Code Playgroud)
看起来像libs/allauth dir缺少文件;
__init__.py
Run Code Online (Sandbox Code Playgroud)
根据注释,最终的解决方案是更新manage.py文件中的sys.path文件
在对manage.py文件进行更改之前,没有看到settings.py文件中的settings.py中的更改.
| 归档时间: |
|
| 查看次数: |
11888 次 |
| 最近记录: |