【发布时间】:2021-08-15 23:48:48
【问题描述】:
我正在做一些应该很简单的事情,但遇到了一个非常奇怪的形式问题。
@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 请求只是一个弹出引导表单。但我的奇怪情况发生在POST 请求中。我正在发送一个完全为空的无效表单(在表单模式中,我会弹出 djangos 内置表单错误),但 else 语句永远不会被命中,它应该在我的 django 记录器中打印 Error。
表格无效,但也不无效?这里一定有我遗漏的东西吗??
提前感谢任何人一眼!
【问题讨论】:
-
logger.debug不会总是记录该项目。这取决于记录器的日志记录级别。 -
啊,其实我不知道!
-
也许您可以使用
logger.error,这很可能是记录器将记录的日志级别。
标签: django django-views django-forms django-validation