Лучший способ добавить штамп даты-времени в каталог поля изображения django
До сих пор я использовал эту функцию
def user_compressed_path(instance, filename):
profile_pic_name = 'user/{0}/compressed/profile.jpg'.format(instance.id)
full_path = os.path.join(settings.MEDIA_ROOT, profile_pic_name)
if os.path.exists(full_path):
os.remove(full_path)
return profile_pic_name
def user_picture_path(instance, filename):
profile_pic_name = 'user/{0}/picture/profile.jpg'.format(instance.id)
full_path = os.path.join(settings.MEDIA_ROOT, profile_pic_name)
if os.path.exists(full_path):
os.remove(full_path)
return profile_pic_name
мне нужен путь что-то вроде
'user/{0}/compressed/{1}/profile.jpg'.format(instance.id, date_time_stamp)
'user/{0}/picture/{1}/profile.jpg'.format(instance.id, date_time_stamp)
каково должно быть значение date_time_stamp
Вы можете сделать что-то вроде этого
import datetime
date = datetime.datetime.now().date()
time = datetime.datetime.now().time()
def user_compressed_path(instance, filename):
profile_pic_name = f'user/{instance.id}/{date}/{time.strftime("%H:%M:%S")}/profile.jpg'
full_path = os.path.join(settings.MEDIA_ROOT, profile_pic_name)
if os.path.exists(full_path):
os.remove(full_path)
return profile_pic_name
это вернет результат следующего вида, если экземпляр имеет id 2
user/2/2021-12-12/10:45:09/profile.jpg