Ste*_*son 4 django django-forms
我想创建一个表单来从iOS Safari上传和保存视频,它支持输入标签的“接受”属性,例如:
<input type=file accept="video/*">
Run Code Online (Sandbox Code Playgroud)
允许您拍摄和上传新视频或在设备上选择视频文件。
我看过 Django 文档:https : //docs.djangoproject.com/en/dev/ref/forms/fields/#django.forms.FileField
但看不到我可以在哪里指定输入的“接受”属性。这可能吗?我可以在模板中创建输入标签并仍然使用 Django 表单处理来接受文件吗?
简单。在您的模型表单中,只需确保FileInput使用所需的acceptHTML 属性创建小部件:
from django import forms
class VideoForm(forms.ModelForm):
class Meta:
model = Video
exclude = []
widgets = {
'video_file': forms.FileInput(attrs={'accept': '.mov,video/quicktime'}),
}
Run Code Online (Sandbox Code Playgroud)
没有简单的方法可以做到这一点,您可以在这个问题中看到一些很好的答案 另外,个人建议(未经测试):创建表单后,像这样设置您想要的任何属性
for f in form.fields:
if isinstance(form.fields[f].widget, ClearableFileInput):
form.fields[f].widget.attrs['accept'] = 'video/*'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3543 次 |
| 最近记录: |