Django 错误 - 没有命名的模块

标签 django module

这是我的相关目录结构(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 应用程序时出现以下错误 错误:没有名为帐户的模块

我读过有关 SO 的其他帖子,其中提到系统路径是问题或应用程序名称与项目名称匹配

Django Shell No module named settings

...因此,我在 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_setings.py有以下相关部分

INSTALLED_APPS = (
    'UserProfile.libs.allauth.account',
)

最佳答案

看起来 libs/allauth 目录缺少该文件;

__init__.py

根据评论,最终的解决方案是更新manage.py文件中的sys.path文件

在 settings.py 中进行的更改不会被看到,因为它无法访问 settings.py 文件,直到对 manage.py 文件进行更改为止。

关于Django 错误 - 没有命名的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12284667/

相关文章:

django - 如何在 `email` 中使用 "django-rest-framework-simplejwt"而不是 `username` 来生成 token ?

python - Django 中的计划表更新

python - 我应该如何为球队、球员和比赛对象设计 django 模型?

python - 当使用 nginx 作为 gunicorn 的反向代理时,Django 应用程序中的空 REMOTE_ADDR 值

c# - 无法使用 IronPython 导入用 C# 编写的模块

javascript - 如何组织 Angular 模块依赖关系

javascript - 找不到 ffmpeg 文件夹错误

php - 扩展无法启用或安装的问题

block 内的 django 模板 block

Windows 上的 python setup.py 安装语法错误