https://zenn.dev/hathle/books/django-booking-book/viewer/02_accounts
上記の記事にある03プロフィール情報変更の際に、
一度アップロードした画像を管理画面からではなく、
アプリ上からクリアして削除したいのですがうまく動作しません
プロフィール画像をアップロードして
再度編集の際にクリアのチェックボックスにチェックを入れても
画像が削除されずに残ってしまう
管理画面からの削除は確認できたのと、
django-cleanupを導入して写真をほかのものに
更新したときに古いファイルは削除されるように
しました。やはりview側でなにかほかに処理を入れる必要があるのでしょうか?
クリアにチェックが入っていたら、views.pyで画像を削除する処理が必要になってきそうです。
https://shimi-dai.com/django-howto-delete-current-iamge-with-updateview-and-imagefield/
ソースを見ないとわからないですが
以下の2点を確認してみてください
①pip install django-cleanup
②file setting.py に INSTALLED_APPS
・django_cleanup
or
・'django_cleanup.apps.CleanupConfig',
##参考に
以下のサイト、参考までに
更新時に古いファイルを削除する方法
①pip install django-cleanup を実行する
②file setting.py にdjango_cleanup を追加しましたか?
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django_cleanup', # 画像削除
]
やはりview側でなにかほかに処理を入れる必要があるのでしょうか?
いいえ、Djangoは既に削除機能を準備されたので、View側は何もしなくてもいいです。
回答ありがとうございます
質問した時点で現在ご指摘していただいた状態には
なっていて、ファイルを更新した際には古い画像は
削除できるようになっています。
編集画面からチェックボックスにクリアを入れて更新をしたときにだけ画像が削除できないという状況です。
うまく説明できなくて申し訳ないです