Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从Django视图中返回urllib2响应对象?_Python_Django_Urllib2 - Fatal编程技术网

Python 如何从Django视图中返回urllib2响应对象?

Python 如何从Django视图中返回urllib2响应对象?,python,django,urllib2,Python,Django,Urllib2,我知道我可以使用快捷方式模块简化操作,但只是为了看看是否可以手动操作,我尝试自己创建并返回一个响应对象,但无法使其工作: import urllib2 def djangoview(request): data = '<byte string>' open('body.txt', 'wb').write(data) headers = {'Content-Type' : 'something', 'Accept' : 'somethingelse'}

我知道我可以使用快捷方式模块简化操作,但只是为了看看是否可以手动操作,我尝试自己创建并返回一个响应对象,但无法使其工作:

import urllib2

def djangoview(request):

    data = '<byte string>'
    open('body.txt', 'wb').write(data)

    headers = {'Content-Type' : 'something', 'Accept' : 'somethingelse'}
    newresponse = urllib2.Request('file:body.txt', None, headers)

    return HttpResponse(newresponse)
导入urllib2
def djangoview(请求):
数据=“”
打开('body.txt','wb')。写入(数据)
headers={'Content-Type':'something','Accept':'somethingelse'}
newresponse=urllib2.Request('file:body.txt',无,标题)
返回HttpResponse(newresponse)

我不明白你想做什么。这是一个视图的约定,它返回django.http.HttpResponse的一个实例-您不允许返回任何其他内容。这样做不是捷径,而是必须的。

解决方案比否决票更有帮助。我明白了,事实是我刚刚了解了urllib2,并在内部试用了它或一次性的django视图函数。我理解它现在不起作用的原因是因为我在“Django容器”中,它不起作用。谢谢:)嗯,不太好。urllib2在Django中工作得很好——毕竟它只是Python——但是您需要将结果包装在一个HttpResponse中。