Django - forms.FileField()初始值

Siv*_*lam 11 django django-forms

是否可以动态地为forms.FileField()提供初始值?

gri*_*ras 18

我不确定,如果这是你想要的,但......

显然,您无法为文件输入设置初始数据(这意味着您将文件发送给用户).ClearableFileInput虽然Django有一个小部件,但这个小部件假装显示初始数据:如果链接存在,它会显示上传文件的链接.

这是通过检查初始对象(传递给files字典中的表单构造函数的对象)是否具有该url属性来实现的.设置此属性后,窗口小部件将显示"当前链接 "行.

顺便说一句,如果您使用文件存储获取文件对象,则可以使用存储url()方法获取该文件的链接.

  • `.url`提示非常有用.这应该是公认的答案. (2认同)

Sil*_*ght 8

按安全标准,<input type="file">不能有默认值,也不能操纵.

原因是,黑客可以将文件输入的默认值设置为系统上的任何重要文件(包含密码,证书等),使用CSS隐藏此字段,您永远不会知道您已向黑客上传了一些内容主办.