Привет, ребята, у меня возникли проблемы с поиском синтаксической ошибки в моих представлениях Django. Я пытаюсь создать представление о создании сообщения пользователем с помощью встроенного набора форм в качестве кода, приведенного ниже. Но представление бросает ошибку в случае ниже:
iam получает индикатор ошибки прямо под (:)
if request.method == 'POST':
SyntaxError: invalid syntax
Я проверил выступы, но не могу определить место ошибки. Вы можете узнать, читаете ли вы его?
#views.py
from django.contrib import messages
from django.contrib.auth.decorators import login_required
from django.http import HttpResponseRedirect
from django.shortcuts import render
from . import forms
from .models import *
@login_required
def post(request):
form = forms.PostForm()
formset =forms.AnswerInlineFormSet(queryset=models.Answer.objects.none()
if request.method == 'POST':
form = forms.PostForm(request.POST)
formset=forms.ImageInlineFormSet(request.POST,request.
FILES,queryset=Images.objects.none())
if form.is_valid() and formset.is_valid():
post = form.save(commit=False)
post.user = request.user
post.save()
images = formset.save(commit=False)
for image in images:
image.post = post
image.save()
messages.success(request,'Post added.')
return HttpResponseRedirect('/feeds')
return render(request,'usersubmit/post_create.html',{'form'= form,'formset' = formset,})
вот форма для представления:
#forms.py
from django import forms
from .models import Post,Images
class PostForm(forms.ModelForm):
class Meta:
model = Post
fields = ('title', 'synopsis','category','tags' )
class ImageForm(forms.ModelForm):
class Meta:
model = Images
fields = ('image','body', )
ImageFormset= forms.modelformset_factory(
models.Images,
form=ImageForm,
)
ImageInlineFormSet = forms.inlineformset_factory(
models.Post,
models.Images,
extra=2,
fields = ('image','body', ),
formset=ImageFormset,
min_num=1,
)
можете ли вы, ребята, просмотреть мой код?
нужно добавить )
formset =forms.AnswerInlineFormSet(queryset=models.Answer.objects.none()
в
formset =forms.AnswerInlineFormSet(queryset=models.Answer.objects.none())
# ^^^
)
в предыдущей строке.