在Django Admin中添加上传文件功能

时间:2014-12-04 20:05:53

标签: python django web-services file-upload django-admin

我看过多个关于如何通过Django ADMIN界面

上传文件的回复

有两种回复: -

A)使用django内联类,如link_Alink_B中所述。我跟着link_A 但由于某种原因,它对我不起作用。那么上面提到的链接中是否缺少某些内容?

我不确定在link_A中跟踪代码块的目的是什么: -

def save(self, *args, **kwargs): if not self.id: ... unzip your file ... ... encrypt your file if necessary ... super(File, self).save(*args, **kwargs)

问题: - Django管理员应自动为您执行SAVE功能。那么,当DJANGO ADMIN自动为你做什么时,上述SAVE函数的目的是什么?

B)在正常的DJango代码中使用上传文件功能(非Django admin)。我跟着link。它提到编写一个处理POST请求的View。并使用ModelForm保存并再次渲染视图

我做了什么: - 添加了一个FileField()按钮file = models.FileField(storage=fs)

我的理解: - 正常Django code(Not DJANGO Admin),我们必须编写ModelForms和VIEWS来处理HTTP respnose和请求方法。但Django admin隐藏了最终用户的HTTP响应和请求功能。不知何故,它在场景后面执行HTTP请求和HTTP响应的处理。所以我绕过Django管理员并尝试手动捕获link中提到的POST请求(仅用于文件上传)听起来不对。

从我的角度来看,我只需要向DJANGO ADMIN添加一个FileField()按钮。当我点击SAVE按钮时DJANGO ADMIN应该处理场景后面的POST请求,就像处理普通模型字段一样。

问题: - 我是否理解如何使用Django ADMIN界面正确上传文件?

0 个答案:

没有答案