我正在开发一个用户可以将一些文件上传到服务器的应用程序。 要上传文件,我使用此模型和此视图
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})