1

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 以来、関係は存在しません。認証システムはサポートされていませんか、それとも Mongo エンジンにはより良い解決策がありますか? おそらく、Postgreに移行する必要がありますか?(sqlite は同時ユーザーを処理できないため、実行可能なオプションではありません)

この質問を見ましたが、それは 1 年前のことなので、今年は MongoDB の人気が高まっているため、それまでに状況が変わっていることを願っています。

4

1 に答える 1

1

MongoEngineは、MongoDB を使用して Django アプリの認証を提供します。

于 2011-11-03T17:18:09.777 に答える