Мои взгляды

def apost(request):
    if request.method =='POST':
        form = APostForm(request.POST, request.FILES)
        if form.is_valid():
            form = form.save(commit=False)
            form.slug = slugify(form.title)
            form.save()
            return redirect('apost')
    else:
        form = APostForm()

    template_name = 'dadmin/form.html'
    items = Post.objects.all()
    context = {'title':'Add Post','form':form,'items':items}
    return render (request, template_name, context)

Моя форма

class APostForm(forms.ModelForm):
    class Meta:
        model = Post
        fields = {'title','photo','content'}

< Сильный > Модели

photo = models.ImageField(upload_to='images')

Загруженное изображение не принимается. Фотография выбирается, но при нажатии Сохранить. Это показывает, что в этом поле обязательна ошибка. Я искал вопросы здесь, но запрос. ФАЙЛЫ решает другие проблемы, но не мины. В чем дело?

2
Sagar Devkota 24 Апр 2017 в 07:37

2 ответа

Лучший ответ

Вы должны использовать в шаблоне, где вы загружаете форму:

    <form class="form-horizontal form_middle" enctype='multipart/form-data' method="POST">
#apply logic for media upload
</form>
4
Abi Waqas 25 Апр 2017 в 05:58

Загрузка файлов немного странна в модельных формах в django. Измените свой forms.py на -

class APostForm(forms.ModelForm):
    photo=forms.FileField(label='Upload image') # or image field
    class Meta:
        model = Post
        fields = {'title','content'}

form.save () автоматически сохранит поле.

-1
subha.py 24 Апр 2017 в 04:45