Django(DRF)でAPIからデータ削除時に各モデルに紐づいた画像をディレクトリからも自動削除してくれるdjango_creanupが感動するほど便利だった件
背景
最近、DjagoRestFramework と React を使って簡単なアプリを開発していたところ、curd でデータ削除時に各モデルに紐づいた画像を表面上では削除できるが、django アプリ側のディレクトリに画像ファイルが残ってしまう現象に少々困ったので良いものはないかと探してみると django_creanup なるものがあることを発見し、使用してみたところ、感動するほど便利だったのでこうして共有している所存です。
目的
- データ削除時にそのレコードに紐づいた画像ファイルを削除したい
- view の処理は増やしたくない
- もちろん手動は嫌なので自動にしたい
django_creanup を使ってみた
- 公式 ( https://github.com/un1t/django-cleanup )
- バージョンの確認 ( https://pypi.org/project/django-cleanup/ )
※ 以下公式より引用、そして翻訳
互換性
- Django 2.2, 3.0, 3.1, 3.2 (詳細はDjango公式のサポートバージョンをご覧ください https://www.djangoproject.com/download/#supported-versions)
- Python 3.5+
- sorl-thumbnail https://github.com/jazzband/sorl-thumbnail と互換性があります。
- easy-thumbnail https://github.com/SmileyChris/easy-thumbnails と互換性があります。
インストール
$ pip install django-cleanup
構成
settings.py
のINSTALLED_APPS
以下にdjango_cleanup
を追加します。(
django_cleanup.apps.CleanupConfig
でもdjango_creanup
だけでもどちらでも大丈夫です)settings.pyINSTALLED_APPS = [ ..., 'django_cleanup.apps.CleanupConfig', or 'django_cleanup', ]
これだけです、他には何も必要ありません。
引用にもある通り、使用するためにはこれだけで大丈夫です。
view に何も追加必要する必要がないのが個人的にはありがたいなという感じです。
注意点としては、サードパーティーモジュールなので他のモジュールと衝突してしまう可能性があることです。
その場合はよく考えて使いましょう。
まとめ
django_creanup めちゃくちゃ便利!!!!!!!!!!
Author And Source
この問題について(Django(DRF)でAPIからデータ削除時に各モデルに紐づいた画像をディレクトリからも自動削除してくれるdjango_creanupが感動するほど便利だった件), 我々は、より多くの情報をここで見つけました https://qiita.com/hayato_8810xxx/items/dee533c4b4efcf3b0db3著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .