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

标签 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 今年已经非常受欢迎。

最佳答案

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

关于python - 使用内置的 Django 身份验证/用户模型与 Mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7999032/

相关文章:

Python IMAP : Cannot mark email as seen

python - 在 Julia 中将整数数组转换为字符数组,反之亦然

python - 将用户和组保持在 Django 管理面板的同一部分

python - 可以在生产中使用 django-scrapy 应用程序吗

authentication - WSO2 中服务提供者的基于角色的 OAuth2 身份验证

python - 有没有一种惯用的 Pandas 方法可以从两个代表开始和停止信号的列表中获取索引

python - python中使用 "\"将字符串转换为元组

Django 管理员根据外键模型选择更新表单字段

html - 如何为客户端 dart 应用程序构建安全的无状态身份验证系统

http - Varnish 和 ESI HTTP AUTH