django文件下载功能

2014 年 10 月 23 日15:57:57 8 21,922 views

以下代码是django WEB页面中,点击下载按钮,就可以下载服务器中的文件,以下是简单的代码示例:

这些是HTML代码片断:
  1. <div class="block span6">
  2.     <p class="block-heading ">进程管理</p>
  3.     <div class="block-body">
  4.        <form action="" method="post">{% csrf_token %}
  5.             <button type="submit" name="s_thread" class="btn btn-primary ">下载文件</button>
  6.             <div class="clearfix"></div>
  7.        </form>
  8.     </div>
  9. </div>
以下是django中views.py中的代码
  1. from django.core.servers.basehttp import FileWrapper
  2. def server(request,game_name):
  3.     if request.method == 'POST':
  4.         if request.POST.has_key('s_thread'):
  5.             filename = '/root/dist.tar.gz'        #指定要下载的文件路径                          
  6.             wrapper = FileWrapper(file(filename))
  7.             response = HttpResponse(wrapper, content_type='text/plain')
  8.             response['Content-Length'] = os.path.getsize(filename)
  9.             response['Content-Encoding'] = 'utf-8'
  10.             response['Content-Disposition'] = 'attachment;filename=%s' % filename
  11.             return response
  12.     return render(request,'server.html',locals())

效果图: django文件下载功能

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:8   其中:访客  5   博主  3

    • li 1

      这模板用的哪一个啊,能否告知

      • lwt_kj 1

        你的django什么版本的,在1.6以上的,都可以同过设置MEDIA_URL来获取文件,《Python自动化运维:技术与最佳实践》不错是吗??我也运维,在用django开发一些小项目

          • admin Admin

            @lwt_kj django 1.5 那书不错

              • lwt_kj 1

                @admin 加个好友,362898198,可以相互交流python和运维的技术。。。

            • rolin 1

              我的QQ号是992975991,望多多指教,还有就是你的这个系统的代码,能够欣赏一下吗,谢谢!

                • admin Admin

                  @rolin 代码过段时间会写一点到博客这来

                • rolin 1

                  你好,我准备在写django+ansible这种形式的运维系统,求大神多多指教,加下我的QQ号,十分感谢!

                  • admin Admin

                    测试中