zoukankan      html  css  js  c++  java
  • 【Python】Django 支持 restful 风格 url

    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()
  • 相关阅读:
    团队开发第二阶段
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    C++类class和结构体struct区别
    c++简单的类的建立与参数的两种传递方法
    C++ 使用delete删除指针
    暂存
  • 原文地址:https://www.cnblogs.com/junneyang/p/5984624.html
Copyright © 2011-2022 走看看