为了账号安全,请及时绑定邮箱和手机立即绑定

我想通过 django 向我的网站添加注册。我做对了所有事情:

我想通过 django 向我的网站添加注册。我做对了所有事情:

肥皂起泡泡 2023-03-30 16:54:55
from django.shortcuts import render, redirectfrom django.http import HttpResponsefrom .models import Tutorialfrom django.contrib.auth.forms import UserCreationFormfrom django.contrib.auth import login, logout, authenticatefrom django.contrib.auth.models import Userdef register (request):    form = UserCreationForm(request.POST)    if request.method == 'POST':        form = UserCreationForm(request.POST)        if form.is_valid():            user = form.save()            login(request, user)            return redirect("main:homepage")        else:            for msg in form.error_messages():                print(form.error_messages[msg])                return render(request,                 'main/register.html',                 context={'form':form})但我仍然收到此错误“‘dict’对象不可调用请求方法:POST 请求 URL: http: //127.0.0.1 :8000/register/ Django 版本:3.0.7 异常类型:TypeError 异常值:‘dict’对象不可调用"
查看完整描述

1 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

for msg in form.error_messages():
    print(form.error_messages[msg])

首先,Django 文档中没有任何地方用于form.error_messages错误消息,如果form.error_messages是字典,则存在 python 问题 -> ,通过调用字典dict is not callable获取键列表。.keys()

根据最新的Django 文档,从您的表单中获取错误是使用form.errors.

for field, msg in form.errors.items():
    print(f'Field {key}: {msg}')


查看完整回答
反对 回复 2023-03-30
  • 1 回答
  • 0 关注
  • 105 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信