【问题标题】:Django ModuleNotFoundError can't import model fileDjango ModuleNotFoundError 无法导入模型文件
【发布时间】:2020-12-14 23:28:34
【问题描述】:

我是 Django 新手,想创建虚拟数据,因此使用带有 sqlite db 的 faker 库。创建了 models.py 和 DummyData.py 。

models.py

from django.db import models
# Create your models here.
class User(models.Model):
    name = models.CharField(max_length=200)
    surname = models.CharField(max_length=200)
    email = models.EmailField(max_length=200, unique= True)

    def __str__(self):
        return "Object created " + "Name :-" + self.name + " Surname :-" + self.surname + " Email :-" + self.email

用于创建虚假数据的 DummyData.py

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", 'Course.settings')

# 1. method
from .models import User

# 2. method
from appTwo.models import User

两种方式我都无法从模型中导入用户类,出现类似错误

Method 1 output    
ModuleNotFoundError: No module named '__main__.models'; '__main__' is not a package

Method 2 output 
ModuleNotFoundError: No module named 'appTwo

在appTwo文件夹中创建了empty init.py。文件结构如上

但是我可以在终端中使用方法2导入models.py,所以我有点困惑。

【问题讨论】:

    标签: python django django-models importerror modulenotfounderror


    【解决方案1】:

    我建议以正确的方式初始化 django:

    from os import environ as env
    
    if not 'DJANGO_SETTINGS_MODULE' in env:
        env.setdefault('DJANGO_SETTINGS_MODULE', 'Course.settings')
    
    import django #  This is important
    django.setup() #  !!!
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-25
      • 2017-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-07
      相关资源
      最近更新 更多