您的位置:首页 > 编程语言 > Python开发

【Python】Django 支持 restful 风格 url

2016-10-21 14:53 651 查看
URL通配符示例:

url(r'^file_download/(?P<filename>(.)*)$', views.FILE_DOWNLOAD_VIEW.as_view()),


代码示例:

def get(self, request, filename):
from common.s3_storage import S3_STORAGE
s3_storage = S3_STORAGE()
key = s3_storage.package_bucket.get_key(filename)
assert(key is not None)

import tempfile
temp = tempfile.NamedTemporaryFile()
try:
#temp = tempfile.TemporaryFile()
key.get_contents_to_filename(temp.name)
temp.seek(0)
c = temp.read()

#c = key.get_contents_as_string()
#return APIResponse(status=status_code.success, data=OS_AND_KERNEL_MAPS)
from django.http import StreamingHttpResponse
#response = HttpResponse(c)
response = StreamingHttpResponse(c)
#response = StreamingHttpResponse( self.file_iterator(temp) )

response['Content-Type'] = 'application/octet-stream'
import os
response['Content-Length'] = os.path.getsize(temp.name)
response['Content-Disposition'] = 'attachment;filename="{0}"'.format(filename)
return response
finally:
temp.close()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: