0

要求:

我的网络应用程序的功能之一是将文件从 Django 服务器上传到远程服务器。此文件不是对 Django 服务器的传入请求的一部分。它是已经存在于媒体或 Django 中的静态位置中的测试文件。

可行性测试:

为了测试这是否可行,我试图从我的 Django 应用程序中读取一个文件并将其内容作为 HttpResponse 吐出。

问题:

def test(request):
    text = open(os.path.join(settings.MEDIA_ROOT, '/media/file.txt', 'r').read()
    return HttpResponse(text)

File "/<LOCATION>/views.py", line 27
  return HttpResponse(text)
       ^

上面的代码给了我一个语法错误。

问题:

  1. 我粘贴的代码中缺少什么?
  2. 什么可能是满足需求的好方法?我必须上传并且我无法更改该功能。我正在寻找做这种事情的选项,因为我在网上没有找到相同的选项。

任何帮助将不胜感激。

4

1 回答 1

1

答案 1:您忘记在上面的行中加入右括号。

它应该是:

open(os.path.join(settings.MEDIA_ROOT, '/media/file.txt'), 'r').read()

答案 2:您可以使用 httplib 上传文件(即通过 POST 请求)。看看这里的例子(它很简短):

http://code.activestate.com/recipes/146306/

于 2013-06-26T17:47:15.907 回答