在Django表单中自定义文件上传按钮的文本标签

时间:2016-03-18 12:07:12

标签: html css django django-forms opera

我正在测试一个简单的Django表单来上传照片。这是标准事件:

<form action="{% url 'pic_upload' %}" method="POST" enctype="multipart/form-data">
{% csrf_token %}
    <b>Upload photo:</b>
    {{ form.image }}<br>
    <input class="button"type="submit" value="OK" id="id_submit">
</form>

当我运行时,我看到一个标有&#34;浏览&#34;的按钮。 (浏览器:Firefox),使用它我可以选择要上传的文件。

我的问题是,如何自定义此标签&#34;浏览&#34;按钮。例如,我希望它能够阅读&#34;选择照片&#34;而不是&#34;浏览&#34; (在所有浏览器上)。

我在SO上看到了一个很好的答案(例如hereherehere),但这些都没有帮助我重命名django表单的文件上传按钮。

这是我尝试过的(徒劳):

在我的forms.py中:

class PicUploadForm(forms.ModelForm):
    image = forms.ImageField(label="Select Photo")
    image.widget.attrs["value"] ='Select Photo'
    class Meta:
        model = Pic
        exclude = ("sender","sending_time",)
        fields = ("image",)

    def __init__(self, *args, **kwargs):
        super(PicUploadForm, self).__init__(*args, **kwargs)
        self.fields['image'].widget.attrs.update({'value':'Select Photo'})

在我的main.css中:

 input#id_image{

    content:'Select Photo';
    width: 100%;
    height:100%;

}

该按钮仍标有“浏览”字样。经过上述所有变化之后。我该怎么办?

请注意,我正在寻找适用于各种浏览器的纯CSS解决方案,包括 代理浏览器,例如Opera Mini

0 个答案:

没有答案