1

我正在开始使用 python,并且在使用 django 2.1 和 python 3.7 时遇到了许多其他人似乎也遇到过的问题。

以下是我到达这里的过程:

  • 启动虚拟环境

  • 开始了一个 django 项目

  • 试图运行:

python manage.py 运行服务器

我一直收到错误:ModuleNotFoundError: No module named 'settings'

我在以下 SO 问题中进行了广泛研究并遇到了一些解决方案,但这些解决方案对我来说都不是有效的解决方案。有没有人遇到过这个问题?

研究的第一个问题

研究的第二个问题

任何见解都会有所帮助。提前致谢。

编辑:我的 manage.py 文件如下所示:

#!/usr/bin/env python import os import sys

if __name__ == '__main__':
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mytodoapp.settings')
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn't import Django. Are you sure it's installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?"
        ) from exc
    execute_from_command_line(sys.argv)

我的文件结构如下:

mytodoapp

mytodoapp

>__init__.py

>settings.py

>urls.py

>wsgi.py

管理.py

我的控制台截图

管理.py 文件

4

5 回答 5

2
  1. 打开你的项目文件夹。

  2. 搜索 wsgi.py 文件并添加这一行。

    from django.conf import settings.
    
  3. 然后保存。

  4. 找到你的 manage.py 文件编辑

    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'projectname.settings')
    

    os.environ['DJANGO_SETTINGS_MODULE' ]='projectname.settings'
    
  5. 保存并修复了walla问题。

  6. cd到你的应用程序文件夹,然后运行服务器

    python manage.py runserver. 
    
于 2021-03-14T08:24:44.140 回答
1

我遇到了类似的问题。但是我在使用 Anaconda 时正在创建 django 项目。一旦我使用以下命令安装了 sqlparse,问题就解决了。

conda install sqlparse
于 2019-08-07T15:06:44.103 回答
1

就我而言,问题最终是因为我以某种方式修改了树结构,因此manage.py无法访问它需要的某些资源。我的解决方案最终重新创建了一个废弃的 django 项目并查看了项目结构。你应该遵循这个结构

yourproject/
├── db.sqlite3
├── manage.py
└── yourproject/
    ├── __init__.py
    ├── app1/
    ├── settings.py
    ├── urls.py
    └── wsgi.py

似乎 manage.py 留在内部yourproject文件夹之外很重要。

于 2019-03-08T17:43:55.450 回答
0

尝试安装 'sqlparse' 。然后它将在 Anaconda 中工作。

pip install sqlparse
于 2019-08-29T09:52:39.207 回答
0

django 2.1 需要 python 3.5+,它支持 manage.py 文件中的语法。

激活您的环境并验证您的 python 是 3.7 如果不是,则在创建 virtualenv 时指定您的 python 版本。

virtualenv -p /path/to/your/python3.7 code
于 2019-08-07T17:51:03.693 回答