Я пытаюсь загрузить файл изображения через файл, введенный из шаблона. Я следовал всем инструкциям, но получил эту ошибку при подключении файла и нажатии на кнопку отправить.
AttributeError: 'PicUpForm' object has no attribute 'save'
и, следовательно, мое изображение не загружается в указанный каталог, а запись не вставляется в мой sqlitedb
СЛЕДУЮТ ВСЕМ НЕОБХОДИМЫМ КОДАМ, КОТОРЫМ Я ИСПОЛЬЗОВАЛ:
views.py
def add_image(request):
form = PicUpForm()
if request.method == "POST":
form = PicUpForm(data=request.POST, files=request.FILES)
if form.is_valid():
form.save()
return redirect("")
else:
return render(request, "sample.html", {"form": form})
forms.py
class PicUpForm(forms.Form):
class Meta:
model = PicUpClass
fields = [model.picture]
picture = forms.ImageField(label='File')
models.py
def upload_to(instance, filename):
now = timezone_now()
base, ext = os.path.splitext(filename)
ext = ext.lower()
return f"C:/Users/Aayush/ev_manage/face_detector/static/img/{now:%Y/%m/%Y%m%d%H%M%S}{ext}"
class PicUpClass(models.Model):
picture = models.ImageField(_("picture"), upload_to=upload_to, blank=True, null=True)
образец. html
{% block content %}
{% load static %}
<form method="post" action="/picup" enctype="multipart/form-data">
{% csrf_token %}
{{ form }}
<button type="submit">submit</button>
</form>
{% endblock %}
urls .py
...
path('picup', views.add_image, name='picup'),
Также я запустил команды makemigrations и migrate после создания модели по мере необходимости. Пожалуйста, помогите мне, поскольку я ладья ie в Python, и очень важно, чтобы завершить эту функцию