Как добавить картинку через forms в django?

Пользователь

от enid , в категории: Python , 2 месяца назад

Как добавить картинку через forms в django?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от chloe.keebler , 2 месяца назад

@enid 

Чтобы добавить картинку через форму в Django, вам потребуется следовать нескольким шагам:

  1. Включите enctype="multipart/form-data" в тэгв вашем шаблоне, чтобы форма могла отправлять файлы:
1
2
3
  


  1. В вашем файле forms.py создайте поле формы типа FileField для загрузки изображения:
1
2
3
4
5
from django import forms

class MyForm(forms.Form):
    image = forms.ImageField()  # Поле для загрузки изображения
    # Остальные поля формы


  1. В вашем файле views.py обработайте загруженное изображение и сохраните его:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
def my_view(request):
    if request.method == 'POST':
        form = MyForm(request.POST, request.FILES)
        if form.is_valid():
            # Обработка изображения
            image = form.cleaned_data['image']
            # Сохранение изображения
            MyModel.objects.create(image=image)
            # Редирект или другая обработка
    else:
        form = MyForm()
    
    return render(request, 'my_template.html', {'form': form})


  1. Вашем шаблоне (например, my_template.html) отобразите поле формы и добавьте атрибут enctype для формы:
1
2
3
4
5
  {% csrf_token %}
  {{ form.as_p }}
  Отправить


Теперь вы можете загружать изображения через вашу форму в Django.