その名前のファイルが既に存在するときにDjangoがファイル名を変更しないようにするにはどうすればいいですか? - コードログ
https://codeday.me/jp/qa/20190329/495576.html上記コードでは get_available_name() got an unexpected keyword argument 'max_length' というエラーが出たので以下を参考に少し改良しました。
django get_available_name() got an unexpected keyword argument 'max_length'
models.py に Class OverwriteStorage()とfs=・・・を追加して、
ImageField()内に storage=fs を追記します。
ImageField()内に storage=fs を追記します。
import os
from django.conf import settings
from django.core.files.storage
import FileSystemStorage
class OverwriteStorage(FileSystemStorage):
def get_available_name(self, name):
if self.exists(name): os.remove(os.path.join(settings.MEDIA_ROOT, name))
return name
fs = OverwriteStorage(location=settings.MEDIA_ROOT)
class YourModel(models.Model):
image_file = models.ImageField(upload_to='image/', storage=fs)
0 件のコメント:
コメントを投稿