@enid
Чтобы добавить картинку через форму в Django, вам потребуется следовать нескольким шагам:
- Включите enctype="multipart/form-data" в тэгв вашем шаблоне, чтобы форма могла отправлять файлы:
- В вашем файле forms.py создайте поле формы типа FileField для загрузки изображения:
1
2
3
4
5
|
from django import forms
class MyForm(forms.Form):
image = forms.ImageField() # Поле для загрузки изображения
# Остальные поля формы
|
- В вашем файле 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})
|
- Вашем шаблоне (например, my_template.html) отобразите поле формы и добавьте атрибут enctype для формы:
1
2
3
4
5
|
{% csrf_token %}
{{ form.as_p }}
Отправить
|
Теперь вы можете загружать изображения через вашу форму в Django.