Python新手:“ ModuleNotFoundError:没有名为'django'的模块”

时间:2018-07-29 20:09:52

标签: python django module

我目前正在研究一个使用Python和Django创建应用程序的教程,并且在整个过程中还很陌生。

在python中运行manage.py文件时,我不断收到消息:“ ModuleNotFoundError:没有名为'django'的模块”

如果在Mac上有所帮助,我正在使用Mac:
Python 3.7
Django 2.0.7
使用virtualenvwrapper
我的虚拟环境处于活动状态

  1. dir:我的项目
    • 我的项目
      • myproject
      • manage.py
    • venv

这是我的models.py文件:

from django.db import models
from django.contrib.auth.models import User

class Board(models.Model):
    name = models.CharField(max_length=30, unique=True)
    description = models.CharField(max_length=100)


class Topic(models.Model):
    subject = models.CharField(max_length=255)
    last_updated = models.DateTimeField(auto_now_add=True)
    board = models.ForeignKey(Board, related_name='topics')
    starter = models.ForeignKey(User, related_name='topics')


class Post(models.Model):
    message = models.TextField(max_length=4000)
    topic = models.ForeignKey(Topic, related_name='posts')
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(null=True)
    created_by = models.ForeignKey(User, related_name='posts')
    updated_by = models.ForeignKey(User, null=True, related_name='+')

我也已将顶行从“从django.db导入模型”更改为“从django.urls导入模型”,因为我在其他一些帖子中建议这样做,但没有成功。

我想念什么?

感谢您的帮助!

编辑:

这是我manage.py文件中的代码:

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

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.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)

1 个答案:

答案 0 :(得分:-1)

import os
import sys

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.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)