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

use*_*536 3 python django heroku

我有一个非常简单的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'
Run Code Online (Sandbox Code Playgroud)

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

-python-getting-started

- 你好

- 初始化 .py

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

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

---tests.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')
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激

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

vis*_*ell 8

您需要使用相对导入

from . import models
Run Code Online (Sandbox Code Playgroud)

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

from django import forms

from .models import VolunteerBasicInfo

class BasicInfoCollectionForm(forms.ModelForm):
    class Meta:
        model = VolunteerBasicInfo
        ...
Run Code Online (Sandbox Code Playgroud)

您也不需要在中使用方括号class Meta