Django form.is_valid() 为 False,但没有命中 else 语句?

Django form.is_valid() is False, but not hitting the else statement?

我正在做一些应该很简单的事情,但是 运行 变成了一个非常奇怪的问题。

@csrf_protect
def employee_create(request, company_id):

    template_name = 'business/employee-create.html'
    data = dict()
    company = Company.objects.get(id=company_id)


    if request.method == 'POST':
        employee_form = EmployeeForm(request.POST)
        if employee_form.is_valid():
            logger.debug('Valid')
            emp = employee_form.save(commit=False)
            emp.company = venue
            emp.user = request.user
            emp.save()
            return redirect('comp_detail', company_id=company_id)
        else:
            logger.debug('Error')

    else:
        employee_form = EmployeeForm()
        data['html_form'] = render_to_string(
            template_name,
            {'form': employee_form, 'company_id': company.id},
            request=request,
        )
    return JsonResponse(data)

GET 请求只是一个弹出 bootstrap 表单。但我的奇怪情况发生在 POST 请求中。我发送了一个完全为空的无效表单(在表单模式中,我弹出了 djangos 内置的表单错误),但是 else 语句永远不会被命中,它应该在我的中打印 Error django 记录器。

表单无效,但又不无效?一定是我遗漏了什么??

提前感谢任何看一眼的人!

记录器通常设置为某个日志级别。这意味着,根据级别的不同,某些日志记录可能不会被记录。 log levels [Python-doc]按升序排列:NOTSETDEBUGINFOWARNINGERRORCRITICAL.

根记录器通常以 WARNING 作为阈值创建,因此 INFODEBUGNOTSET 而不是 被记录。

您可以更改阈值,或者您可以记录更高级别的消息:

if employee_form.is_valid():
    logger.<b>error(</b>'Valid'<b>)</b>
    # …
else:
    logger.<b>error(</b>'Error'<b>)</b>