python - 子类化 django 文件字段表单小部件?

标签 python django

我的上传工作正常,但问题是,我想过滤掉所有不需要的文件类型。 我知道对于 html,你可以使用类似的东西:

<input type="file" name="file" accept="image/*" id="file"> <input type="submit" name="submit" value="Upload Image!">

在本例中,这告诉浏览器仅在文件对话框中显示图像文件。

我不知道如何将accept="image/*"添加到Django 的小部件中。

非常欢迎任何帮助!

最佳答案

您可以使用小部件attrs更改此设置,如下所述:https://docs.djangoproject.com/en/1.3/ref/forms/widgets/#django.forms.Widget.attrs

from django import forms

class MyForm(forms.Form):    
    my_file = forms.FileField()

    def __init__(self, *args, **kwargs):
        super(MyForm, self).__init__(*args, **kwargs)
        self.fields['my_file'].widget.attrs.update({'accept': 'image/*'})

或者您可以使用类似 django-widget-tweaks 的内容使用模板标签来执行此操作。

关于python - 子类化 django 文件字段表单小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10708374/

相关文章:

Python美汤选择文本

Django 消息,如何隐藏特定消息

python - 更改 Django 表单中的字段,覆盖 clean()

python - Django:针对不同用户的 1 个 View ?

python - Python Spyder 控制台中的 win32com 导致错误

python - lxml 未安装在 pycharm ide 中

python - sklearn 凝聚聚类链接矩阵

python - 命名元组中的圆形长 float 用于打印

django - 什么是 session ID 以及如何在 Django 中获取它?

django - 如何在 Django 表单中向时间字段添加选项?