我看过多个关于如何通过Django ADMIN
界面
有两种回复: -
A)使用django内联类,如link_A和link_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
界面正确上传文件?