Страницы

Поиск по вопросам

вторник, 17 марта 2020 г.

Django сохранение изображения из формы

#django


Подскажите как сохранить на сервер изображение, указанное в форме.

С формы информацию в бд сохраняю, считывая get или post запрос. Т.е. получается что
я должен принять путь к изображению, но вот как его сохранить?



То есть чтобы загрузить изображение, можно при обработке страницы, куда приходят
данные, делать так?

caption = request.POST['caption']
preDescription = request.POST['preDescription']
description = request.POST['description']
image = request.POST['image']


Потом уже использовать вот это?

image = models.ImageField(upload_to='news')




Сделал:

models.py

from django.db import models

class News(models.Model):

    caption = models.CharField(max_length=30)
    preDescription = models.CharField(max_length=100)
    description = models.CharField(max_length=300)
    image = models.ImageField(upload_to='news')


forms.py

from django import forms
from anime.models import *

class NewsForm(forms.Form):

class Meta:
     model = News


views.py

def addnews_status(request):

    a = NewsForm(request.POST)
    a.save()


Пишет вот что - 'NewsForm' object has no attribute 'save'.

Ошибку я перевести могу, но я не понимаю почему его нет? Делал всё как положено.
Я хотя бы на верном пути?
    


Ответы

Ответ 1



С формы информацию в бд сохраняю, считывая get или post запрос. Неправильно делаете. Почитайте про ModelForms, там все работает абсолютно автоматически.

Ответ 2



class MyForm(ModelForm): class Meta: model=MyModel def handler_view(request): form = MyForm(request.POST, request.FILES) if form.is_valid(): form.save() читаем документацию! хотябы наискосок

Комментариев нет:

Отправить комментарий