PythonDjango 支持 restful 风格 url

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PythonDjango 支持 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()

 

以上是关于PythonDjango 支持 restful 风格 url的主要内容,如果未能解决你的问题,请参考以下文章

greaterwms是啥??

cmd 创建Django REST项目

PythonDjango2.0集成Celery4.1详解

怎样更好的设计你的REST API之基于REST架构的Web Service设计及REST框架实现

python django-rest-framework 3.3.3 更新嵌套序列化程序

python Django宿舍管理系统(课设毕设学习源码下载)