ModuleNotFoundError:没有名为“模型”的模块

2024-05-08

我有一个非常简单的 django 应用程序,我试图将其部署到 heroku,但它不断崩溃。在我的本地机器上一切正常,但在 Heroku 上却不行

这是我收到的错误(切到相关部分):

File "/app/hello/admin.py", line 4, in <module>
2017-07-10T20:12:27.482194+00:00 app[web.1]:     import models
2017-07-10T20:12:27.482195+00:00 app[web.1]: ModuleNotFoundError: No module 
named 'models'

我使用默认的 Django 目录结构:

-python 入门

--hello

---init.py

---admin.py(这是错误所在)

---models.py(这是我要导入的文件)

---测试.py

---views.py

它在我的本地机器上运行得很好。难道是我导入错了?老实说,我什至不知道从哪里开始。我在 Heroku 上托管的任何其他 Django 项目都没有任何问题,只有这个。

这是引发错误的 admin.py 的相关部分:

from django.contrib import admin
from django import forms

import models

# Register your models here.
class BasicInfoCollectionForm(forms.ModelForm):
    class Meta():
        model = models.VolunteerBasicInfo
        fields = ('removed for brevity')

任何帮助将不胜感激

编辑: 我刚刚意识到这个应用程序在heroku上使用python v3.6,而我一直在本地计算机上使用python 2.7进行开发。


您需要使用相对导入

from . import models

或者最好导入您将使用的模型,因为它不会在视觉上与django.db.models.

from django import forms

from .models import VolunteerBasicInfo

class BasicInfoCollectionForm(forms.ModelForm):
    class Meta:
        model = VolunteerBasicInfo
        ...

您也不需要使用括号class Meta.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ModuleNotFoundError:没有名为“模型”的模块 的相关文章