开发者社区> 问答> 正文

在python中赋值之前引用的局部变量'form'

这段代码总是在赋值之前显示错误的局部变量'form'

def home(request):

    if request.method=='POST':
        form = ListForm(request.POST or None) 

    if form.is_valid(): 
        form.save() 
        all_items = list.object.all 
        messages.success(request ,('Item Has Been Added To List !')) 
        return render(request ,'home.html', {'all_items': all_items}) 
    else : 
        all_items = list.object.all 
        return render(request, 'home.html', {'all_items': all_items})

问题来源StackOverflow 地址:/questions/59386530/local-variable-form-referenced-before-assignment-in-python

展开
收起
kun坤 2019-12-25 21:55:17 408 0
1 条回答
写回答
取消 提交回答
  • def home(request):
        all_items = list.object.all()
        if request.method=='POST':
            form = ListForm(request.POST or None) 
            if form.is_valid(): 
                form.save() 
                messages.success(request ,('Item Has Been Added To List !')) 
                return redirect('home.html') 
        else :
            form = ListForm()
        return render(request, 'home.html', {'all_items': all_items, 'form': form})
    

    在get请求的情况下,表单将再次被抛出给用户

    2019-12-25 21:55:35
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载