#python #django #dynamic #directory #storage
#python #django #динамический #каталог #Хранение
Вопрос:
В моей модели есть ImageField, в котором я хочу динамически сохранять URL-адрес изображения в зависимости от переменной сеанса пользователя. Воображаемый, подобный этому:
logo = models.ImageField(null=True, upload_to = 'empresas/' codEmp '/logo/')
А переменная var codEmp — это переменная сеанса:
request.session['codEmp']
Поэтому, если кодовым кодом пользователя является, например, ‘McDonalds’, он должен сохранить следующий путь: ’empresas/McDonalds/logo/imaginary_picture.jpg ‘.
Я пытался с помощью инициализации, но я не могу закончить это, и я не уверен, что это сработает.
class Empresa(models.Model):
def __init__(self, filter_on, *args, **kwargs):
super(Empresa, self).__init__(*args, **kwargs)
codEmp = filter_on
logo = models.ImageField(null=True, upload_to = 'empresas/' codEmp '/logo/')
Я пытался сделать это в ModelForm, но, похоже, у forms.ImageField
нее нет upload_to
атрибута.
Ответ №1:
upload_to
Параметр может быть вызываемым, ожидается, что он примет 2 параметра: экземпляр и имя файла. Смотрите здесь.