質問: ### 前提・実現したいこと djangoにてImageField を使い画像を選択させてから保存するプログラムを作りました。 しかしその入力フォームにて「ファイルを選択してください」というボタンを画像に変更することはできませんか? ### 発生している問題・エラーメッセージ htmlのタグで囲んでも画像を選択してくださいをいう部分がどうしても残ってしまいます。 エラーメッセージ ### 該当のソースコード django python html css javascript ソースコード {% load staticfiles %} {% load widget_tweaks %} もソースコードの頭に書いてます。 {% csrf_token %} {{ form.image | add_class:“fas fa-camera-retro fa-4x fa-fw”}} ### 試したこと タグやタグの囲む位置は変えてみたりしました。 ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) django2.1 python3.6 ここにより詳細な情報を記載してください。
回答: 対象の `` (おそらく `{{ form.image }}` で描画されているもの)に対する `` の中に画像を入れて、対象の `` を `display: none` で非表示にして実現する方法が一般的なのではないかと思います。 参考: * css - Replace input type=file by an image - Stack Overflow 何らかの理由で `` を使われたくないということであれば、 JavaScript を書いて画像にクリックイベントハンドラをつけて形で実装することになるものと思います。 参考: * javascript - customize the file button for image upload - Stack Overflow Django と HTML/JS についてどのぐらいの知識をお持ちなのかわからないので、ひとまず具体的な方法については参考ページをご紹介するにとどめています。おそらくこれだけで解決に至られるのではないかと思っていますが、リンク先をご覧になっても全然わからない・・・という場合はコメントでお知らせください。