gpt4 book ai didi

python - 模块未找到错误 : No module named '__main__.models' ; '__main__' is not a package

转载 作者:太空宇宙 更新时间:2023-11-03 13:33:45 25 4
gpt4 key购买 nike

目前在 Django 网站上工作,我在将类及其属性从我的 models.py 模块导入到我的 views.py 模块时遇到问题音乐应用。据我了解,Django 使用元类来构建模型,因此定义的字段不会作为类的属性结束。这是问题所在吗?如果是,我该如何解决?

目录结构:

music  
migrations
templates
_init_
admin.py
apps.py
models.py
tests.py
urls.py
views.py

models.py 中的代码是:

from django.db import models
class Album(models.Model):
artist = models.CharField(max_length=250)
album_title = models.CharField(max_length=500)
genre = models.CharField(max_length=100)
album_logo = models.CharField(max_length=1000)

def __str__(self):
return self.album_title + ' - ' + self.artist

views.py 中的代码是:

from django.http import HttpResponse
from .models import Album
from django.template import loader

def index(request):
all_albums = Album.object.all()
template = loader.get_template('music/index.html')
context = {'all albums': all_albums,}
return HttpResponse(template.render(context, request))

def details(request, album_id):
return HttpResponse("<h2> Details for Album id: " + str(album_id) + " </h2>")

错误:

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

错误位置: from .models import Album

最佳答案

你的 __str__ 方法必须定义到 Album 类中,否则 self 是未定义的

关于python - 模块未找到错误 : No module named '__main__.models' ; '__main__' is not a package,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42575433/

25 4 0