Кастомная загрузка файлов

Для загрузки файлов, используются следующие поля в модели:

  • ImageField
  • FileField

Что бы браузер передал файл, необходимо указать:  enctype=»multipart/form-data»

<form method="post" enctype="multipart/form-data">

Что бы принять файл, в view необходимо указать request.FILES во время создания обьекта формы.

views.py
@login_required
def country_edit(request, pk):
    post = get_object_or_404(Country, pk=pk)
    if request.method == "POST":
        form = NewCountry(request.POST, request.FILES, instance=post)
        if form.is_valid():
            post = form.save()
            post.save()
            return redirect('/admin-panel/country/', pk=post.pk)
        else: 
            return render(request, 'admin_panel/country/edit-country.html', {'form': form} )
    else:
        form = NewCountry(instance=post)
    return render(request, 'admin_panel/country/edit-country.html', {'form': form})

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *