我正在测试一个简单的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上看到了一个很好的答案(例如here,here或here),但这些都没有帮助我重命名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 。