为什么Django会将我的页面作为下载服务?

时间:2012-11-25 12:18:43

标签: django http fastcgi

我有一个用Python + Django编写的Web应用程序。在我的机器上,它工作正常;一旦我把它投入生产,它就会开始起作用。

出于某种原因,我的登录屏幕加载正常。但是,只要我尝试登录,我就可以将主页作为下载(如果我打开gzip中间件),或者作为plain text page containing the response

我的生产服务器运行Python 2.6.8,而我的Django版本是1.4.1-final。我无权访问mod_wsgi,所以我使用CGI代替。这是我的.htaccessFCGI script。它实际上只是一个廉价的共享主机方案,但我在那里有另一个Django网站可以正常工作。

2 个答案:

答案 0 :(得分:1)

最有可能的原因是你将它暴露为cgi,但你使用的是django.core.servers.fastcgi。显然django不应该被暴露为普通的CGI,但有些尝试过,发现这篇博文:http://joemaller.com/1467/django-via-cgi-on-shared-hosting/

答案 1 :(得分:1)

似乎不太可能,但在您的回复中设置不同的content_type有时可能会发生这种情况,例如:

  
    
      

response = HttpResponse(my_data,content_type ='application / vnd.ms-excel')       response ['Content-Disposition'] ='附件;文件名= “foo.xls”'

    
  

(Django Docs)

您可以关联一两行回复电话吗?