尝试使用Heroku部署我的Django项目时遇到了一个奇怪的问题。
我一丝不苟地遵循了所有步骤,可以在这里找到:https://devcenter.heroku.com/articles/deploying-python#django-applications-on-heroku
现在,我正在迁移数据库的最后一步。为此,我运行
heroku run python manage.py migrate
导致异常错误"无法导入Django"
然而,当我跑
时python manage.py migrate
一切正常。
我完全不知道为什么Django没有使用Heroku进行导入,并且经过几个小时的故障排除后无法解决问题。以下是我的代码:https://github.com/tonypedraza/luispedraza/tree/master/luispedraza
的回购如果我能提供更多信息,请告诉我。
谢谢!!!!
答案 0 :(得分:1)
我解决了这个问题。原来我在使用virtualenv时没有创建我的heroku应用程序。对于遇到类似问题的任何人,我通过运行以下代码发现了这一点:
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, generics.collections, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
test: TList<integer>;
public
{ Public declarations }
procedure testGenerics(aList: TList<integer>);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
testGenerics(test);
test.Sort;
ShowMessage(test[0].tostring);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
test := TList<integer>.Create;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
test.Free;
end;
procedure TForm1.testGenerics(aList: TList<integer>);
begin
// FYI, a better way to exercise Sort()
// would be to use RandomRange() instead
// of a hard-coded number...
aList.Add(4);
end;
end.
这向我展示了heroku指向系统目录中的依赖项,而不是我的virtualenv中的依赖项。要解决这个问题,我删除了应用程序并在我的virtualenv中创建了一个新应用程序。我确定你可以将sys.path更改为指向正确的目录,但我决定重启该项目,因为我刚刚启动它。