【问题标题】:how can i solve this in Django = UnboundLocalError at / local variable 'form' referenced before assignment我如何在 Django = UnboundLocalError at / local variable \'form\' referenced before assignment 中解决这个问题
【发布时间】:2023-02-13 16:29:00
【问题描述】:

我怎样才能在 Django 中解决这个问题 UnboundLocalError at / 赋值前引用的局部变量'form'

def home(request):
    if request.user.is_authenticated:
        form = MeepForm(request.POST or None)
        if request.method == "POST":
            if form.is_valid():
                meep = form.save(commit=False)
                meep.user = request.user
                meep.save()
                messages.success(request,('Meep has been posted'))
                return redirect('home')
        meeps = Meep.objects.all().order_by("-created_at")
        return render(request, 'home/home.html', {'meeps':meeps,'form':form})
    else:
        meeps = Meep.objects.all().order_by("-created_at")
        return render(request, 'home/home.html', {'meeps':meeps,'form':form})

【问题讨论】:

    标签: django django-views


    【解决方案1】:

    如果您的代码进入 else,那么您就不会初始化 form 对象,因此不会出现错误。

    else:
        meeps = Meep.objects.all().order_by("-created_at")
        return render(request, 'home/home.html', {'meeps':meeps,'form':form})
    

    在这里你不会有form。所以在这里初始化它 - 在else 内或在if 之前有一些值。

    【讨论】:

      猜你喜欢
      • 2019-07-11
      • 2021-12-17
      • 2013-02-11
      • 2021-05-11
      • 1970-01-01
      • 1970-01-01
      • 2017-08-08
      • 2018-01-22
      • 1970-01-01
      相关资源
      最近更新 更多