Django中的UserManager createuser方法引发NoneType不可调用的异常

时间:2015-08-28 02:59:19

标签: python django

制作了一个自动创建新用户的视图,但是当我调用该视图时,我收到此错误" ' NoneType'对象不可调用"

下面是完整的堆栈跟踪:

    Traceback:
File "/Library/Python/2.7/site-packages/django/core/handlers/base.py" in get_response
  132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/krishna/Documents/temp/tutorial/quickstart/views.py" in RegistrationView
  24.         reg_user = UserManager.create_user(UserManager(), username=str(User.objects.all().count()+1), password=str(uuid.uuid4()))
File "/Library/Python/2.7/site-packages/django/contrib/auth/models.py" in create_user
  187.                                  **extra_fields)
File "/Library/Python/2.7/site-packages/django/contrib/auth/models.py" in _create_user
  180.                           date_joined=now, **extra_fields)

Exception Type: TypeError at /lkd/
Exception Value: 'NoneType' object is not callable

以下是导致问题的视图:

def RegistrationView(request):
    if request.method == 'GET':
        reg_user = UserManager.create_user(UserManager(), username=str(User.objects.all().count()+1), password=str(uuid.uuid4()))
        serialized_user = UserSerializer(reg_user)
        return JsonResponse(JSONRender.render(serialized_user.data))
    return HttpResponse("woah")

1 个答案:

答案 0 :(得分:0)

您将以困难的方式创建用户。我建议您查看example中的Django documentation

通常,您不会直接访问经理。你可能想做类似的事情:

reg_user = User.objects.create_user(str(User.objects.all().count()+1), 'user@example.com', str(uuid.uuid4()))
reg_user.save()

而不是调用UserManager.create_user方法。