使用Mongodb内置的Django身份验证/用户模型

时间:2011-11-03 17:10:08

标签: python django authentication mongodb mongoengine

从sqlite切换到MongoDB,我遵循Django MongoDB Engine的所有设置/配置设置。现在,当我通过向views.py中的adduser方法返回HTTP响应来添加用户时:

 def adduser(request):
     username = request.POST['username']
     password = request.POST['password']
     u = User.objects.create_user(username, request.POST['email'], password)
     u.save()
     a = Accounts(user=u)
     p = Passwords(user=u)
     a.save()
     p.save()
     user = authenticate(username=username, password=password)
     if user is not None and user.is_active:
         auth.login(request, user)
         return HttpResponseRedirect("/%s/" %u.id)
     else:
         return HttpResponseRedirect("/account/invalid/")

这是我得到的错误: DatabaseError at /adduser relation "auth_user" does not exist

自从MongoDB NoSQL以来,这种关系自然不存在。是不支持auth系统还是Mongo-engine有更好的解决方案?也许我应该转移到Postgre? (sqlite无法处理并发用户因此不是一个可行的选项)

我看到了this的问题,但那是一年前所以希望事情已经发生了变化,因为MongoDB今年已经获得了很多人气。

1 个答案:

答案 0 :(得分:1)

MongoEngine为使用MongoDB的Django应用程序提供身份验证。