如何使用django下载存储在文件系统中的文件

时间:2015-01-08 23:33:44

标签: python django django-views file-transfer

我正在开发一个用户可以将一些文件上传到服务器的应用程序。 要上传文件,我使用此模型和此视图

model
class Documentacion(models.Model):
      id_doc = models.AutoField(primary_key=True)
      id_proceso = models.ForeignKey(Proceso,db_column='id',verbose_name='Proceso')
      tipo_docu = models.CharField(max_length=100,null=False,blank=False,verbose_name='Tipo Doc.')
      fecha = models.DateField(auto_now = True)
      autor = models.CharField(max_length=50,blank=False,null=False)
      descripcion = models.CharField(max_length=250,blank=True,null=True)
      documento = models.FileField(upload_to='docs/')

查看上传文件:

def DocuView(request):
    if request.method == 'POST':
       form = DocuForm(request.POST,request.FILES)
       if form.is_valid():
          #docu = Documentacion(documento = request.FILES['documento'])
          #docu.save()
          form.save()
          return HttpResponseRedirect('/index/')
    else:
       form = DocuForm()
    return render_to_response("docu.html",
                              {'form':form},
                              context_instance=RequestContext(request))

我使用django-tables2渲染一个表来列出所有文件。 我的问题是如何下载表中列出的文件。 带有文档名称的列是url链接,但是当我单击链接时出现错误:

  

找不到页面(404)请求方法:GET请求URL:

我不知道是否需要实现另一个视图来处理下载或我必须做什么。 上传到服务器的文件有不同的扩展名,如word,excel,txt等

任何建议

提前致谢

更新

查看以呈现文件列表:

def ListaDocView(request):
    tabla = DocuTable(Documentacion.objects.all())
    RequestConfig(request,paginate={"per_page":50}).configure(tabla)
    return render(request,'home.html',{'table':tabla})

0 个答案:

没有答案