私はDjangoアプリケーションでファイルアップロードボタンのラベルをカスタマイズしようとしています。 Firefoxでは、「Browse」というラベルの付いたボタンが表示され、「No files selected」というヒントテキストが表示されます。私はラベルを 'Upload'にする必要があり、ヒントテキストもカスタマイズしたい。ここで(forms.pyから)動作しないものです:type = "image"を使用してDjangoのファイルアップロード機能のラベルをカスタマイズする
class PicsUploadForm(forms.ModelForm):
image = forms.ImageField(label='Upload')
image.widget.attrs["value"] ='Upload'
class Meta:
model = Pic
exclude = ("sender","sending_time", "expiry_interval")
fields = ("image",)
def __init__(self, *args, **kwargs):
super(PicsUploadForm, self).__init__(*args, **kwargs)
self.fields['image'].widget.attrs.update({'value':'Upload'})
それはHTMLで次のタグを生成します。
<input id="id_image" type="file" value="Upload" name="image"></input>
しかし、アップロードボタンはまだ代わりにアップロード」は、「参照」ラベルが表示されます'私はまた、(動作しない)、次を試してみました:
def __init__(self, *args, **kwargs):
super(PicsUploadForm, self).__init__(*args, **kwargs)
self.fields['image'].label='Upload'#["value"]='Upload'
はしかし、私は正常私は'image'
に'file'
からタイプを変更した場合'Upload'
に、ボタンのラベルを変更することができますよ。 w3schoolsによれば、このタイプのは、送信ボタンとしてイメージを定義します。
type="image"
を使用して、ファイルアップロードボタンのラベルをカスタマイズしたり、機能をゼロから作ることができるかどうかは疑問でした。
誰かがこのための実際の例を持っていますか、これは決して動作しませんか?最初の部分については
:から撮影
要素の検査/開発ツールのみを使用してファイル入力のように動作させます。 JavaScriptなしでアップロードメッセージを変更することはできません。 – v1k45
@ v1k45:答えとしてそれを書いてください。 –