Как создать подпуть к медиафайлам django с помощью файлового браузера

При загрузке медиафайла через файловый браузер в django-tinymce, я хочу создать новую папку в папке загрузки на основе даты загрузки (как в ckeditor).

Например, если вы загрузите файл abc.png 3 декабря 2022 года, я хочу сохранить путь [/{django-project}/media/upload/2022/12/3/abc.png], а не [/{django-project}/media/abc.png]

Я знаю, что имя файла можно редактировать с помощью сигналов файлового браузера, но я не знаю, как изменить путь к файлу.

Например, если вы загрузите файл abc.png 3 декабря 2022 года, я хочу сохранить путь [/{django-project}/media/upload/2022/12/3/abc.png], а не [/{django-project}/media/abc.png]

Возможно ли это сделать без изменения исходных файлов модуля?

Да, в Django можно изменить путь к загруженному файлу, не изменяя исходные файлы модуля. Вы можете использовать параметр upload_to в FileField или ImageField в вашей модели Django, чтобы указать путь, по которому вы хотите сохранить загруженный файл.

Подробнее здесь

Вот пример:

import datetime

class MyModel(models.Model):
    # Set the upload path to be "upload/<current year>/<current month>/<current day>"
    file = models.FileField(upload_to="upload/%Y/%m/%d")

Надеюсь, это поможет!

Вернуться на верх