Задать вопрос
@p0tates

Как сохранить изображение из формы?

При создании или редактировании записи в админке джанго использует указанный путь, но если я делаю форму, то в бд сохраняет имя файла, но в папке она не появляется

def user_image_path(instance,filename):
    return f'users/{instance.user_link}/{filename}'


class Profile(models.Model):
    user_link = models.OneToOneField(User,on_delete=models.CASCADE,verbose_name='Пользователь')
    slug = models.SlugField(max_length=255, unique=True, db_index=True, verbose_name="slug")
    image = models.ImageField(upload_to=user_image_path,blank=True, verbose_name='Аватар')
    info_user = models.TextField(blank=True,verbose_name='О себе')
    social = models.URLField(max_length=200,blank=True,verbose_name='Ссылка')


def form_valid(self, form):
        up = form.cleaned_data

        self.get_queryset().filter(slug=self.get_object().slug).update(
            image=up['image'],info_user=up['info_user'],social=up['social'])

        return redirect(self.get_success_url())


<form action="" method="post" enctype="multipart/form-data">
        {% csrf_token %}
        {{form.as_p}}
        <input type="submit" value="Сохранить">
 </form>
  • Вопрос задан
  • 86 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы