ModuleNotFoundError:没有名为'models'的模块

时间:2017-07-10 20:23:38

标签: python django heroku

我有一个非常简单的django应用程序,我试图部署到heroku,但它一直崩溃。在我的本地机器上一切正常,但在heroku上没有。

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

function getDirSize($path)
{
    $fio = popen('/usr/bin/du -sb '.$path, 'r');
    $size = intval(fgets($fio,80));
    pclose($fio);
    return $size;
}

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

-python-得到起动

- 你好

--- init .py

--- admin.py(这是错误的地方)

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

--- tests.py

--- views.py

它在我的本地机器上工作得很好。我输错了吗?老实说,我甚至不知道从哪里开始。我在Heroku上托管的任何其他Django项目都没有任何问题。

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

function getDirSize($path) {
    $size = 0;
    foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)) as $file){
        $size+=$file->getSize();
    }
    return $size;
} 

非常感谢任何帮助

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

1 个答案:

答案 0 :(得分:6)

您需要使用相对导入

int index = indexOfClosestNumber(32, -1, 58, 31, 16, 54);

System.out.println(index); // 2

或者导入您将使用的模型更好,因为它不会在视觉上与from . import models 发生碰撞。

django.db.models

您也不需要使用from django import forms from .models import VolunteerBasicInfo class BasicInfoCollectionForm(forms.ModelForm): class Meta: model = VolunteerBasicInfo ... 的用户括号。