Мои взгляды
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 ответа
Вы должны использовать в шаблоне, где вы загружаете форму:
<form class="form-horizontal form_middle" enctype='multipart/form-data' method="POST">
#apply logic for media upload
</form>
Загрузка файлов немного странна в модельных формах в 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 () автоматически сохранит поле.
Новые вопросы
django
Django - это серверная платформа веб-приложений с открытым исходным кодом, написанная на Python. Он разработан для сокращения усилий, необходимых для создания сложных веб-сайтов и веб-приложений, управляемых данными, с особым упором на меньшее количество кода, отсутствие избыточности и более явное, чем неявное.