首页 > 解决方案 > 类型为“NoneType”的 /signup 对象的 TypeError 没有 len()

问题描述

我的观点:

class RegistrationView(View):
    def get(self,request):
        return render(request, 'accounts/signup.html')

    def post(self, request):
        context={
            'data':request.POST,
            'has_error':False
        }
        name = request.POST.get('name')
        username = request.POST.get('username')
        email = request.POST.get('email')
        password = request.POST.get('password')
        password1 = request.POST.get('password1')
        username = request.POST.get('username')

        if len(password)<8:
            messages.add_message(request,messages.ERROR, 'Password should be atleast 8 characters long !!!')
            context['has_error']=True

标签: pythondjango

解决方案


注意:查看表单输入字段中的名称,它们区分大小写在 django 中,其他字段Password不区分大小写。password

然后传递默认值'',以防万一找不到避免 None

否则在使用之前明确检查它不是 Nonelen()

 username = request.POST.get('Username', '')
 password = request.POST.get('Password', '')

推荐阅读