我有一个非常简单的 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(使用前将#替换为@)