【问题标题】:cant spot the syntax error in django views [closed]无法在 django 视图中发现语法错误 [关闭]
【发布时间】:2018-02-09 02:49:33
【问题描述】:

大家好,我在我的 Django 视图中查找语法错误时遇到了麻烦。我正在尝试在下面给出的代码的内联表单集的帮助下创建用户创建帖子的视图。但是视图抛出错误以下情况:

我在 (:) 正下方获取错误指示器

    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,
)

你们可以检查我的代码吗?

【问题讨论】:

  • 与往常一样,上一行缺少)
  • 非常感谢。这很愚蠢

标签: python django formset


【解决方案1】:

需要加)

formset =forms.AnswerInlineFormSet(queryset=models.Answer.objects.none()

formset =forms.AnswerInlineFormSet(queryset=models.Answer.objects.none())
#                                                                      ^^^

【讨论】:

    猜你喜欢
    • 2023-03-12
    • 2015-03-09
    • 1970-01-01
    • 1970-01-01
    • 2020-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多