ModuleNotFoundError:没有命名模块,为什么主代码和模型中都没有命名模型?

问题描述 投票:0回答:1

我创建了此模型代码,但 django makemigrations 命令不起作用并显示错误。
第一个代码是数据库应该在的位置以及我放置所需模型名称的位置,第二个代码是到目前为止模型的制作方式,最后一个代码是我尝试使用 makemigrations 时出现的错误。我不知道该怎么做才能让它发挥作用。

``INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'livros'`

`from django.db import models

class Livros(models.Model):

nome = models.CharField(max_length = 100)
autor = models.CharField(max_length = 30)
co_autor = models.CharField(max_length = 30)
data_cadastro = models.DateField()
emprestado = models.BooleanField(default=False)
nome_emprestado = models.CharField(max_length = 30)
data_emprestimo = models.DateTimeField()
data_devolução = models.DateTimeField()
tempo_duração = models.DateField()`

File "<frozen importlib._bootstrap>", line 1204, in _gcd_import   File "<frozen importlib._bootstrap>", line 1176, in _find_and_load   File "<frozen importlib._bootstrap>", line 1140, in _find_and_load_unlocked ModuleNotFoundError: No module named 'livros'

python-3.x django
1个回答
0
投票

OG 相当混乱。我认为你缺少网络应用程序。 在虚拟环境中的命令提示符下,发出以下命令:

python manage.py startapp livros

这将创建您的 web 应用程序 livros,并将一个新目录(和几个文件.. 包括 models.py)添加到名为 livros 的项目中。接下来,我们需要更新您的 settings.py 以允许 django 知道您的 web 应用程序 livros 存在。

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'livros',
]

在 livros 目录中,使用以下代码编辑 models.py:

from django.db import models

class Livros(models.Model):
    nome = models.CharField(max_length = 100)
    autor = models.CharField(max_length = 30)
    co_autor = models.CharField(max_length = 30)
    data_cadastro = models.DateField()
    emprestado = models.BooleanField(default=False)
    nome_emprestado = models.CharField(max_length = 30)
    data_emprestimo = models.DateTimeField()
    data_devolução = models.DateTimeField()
    tempo_duração = models.DateField()

这应该足以让您的 makemigrations 生成 Livros 表的指令。

python manage.py makemigrations

要实际将其应用到数据库,请运行迁移命令

python manage.py mirgrate

在views.py中,添加以下内容以在代码中访问您的模型

from .models import Livros
© www.soinside.com 2019 - 2024. All rights reserved.