我正在尝试使用 mongoengine 和 django 实现登录功能。
我在 INSTALLED_APPS 中包含了“mongoengine.django.mongo_auth”
以下是我来自 mongoengine 站点的 settings.py。
MONGOENGINE_USER_DOCUMENT = 'mongoengine.django.auth.User'
AUTH_USER_MODEL = 'mongo_auth.MongoUser'
SESSION_ENGINE = 'mongoengine.django.sessions'
AUTHENTICATION_BACKENDS = (
'mongoengine.django.auth.MongoEngineBackend',
)
这是来自models.py
class UserInfo(User,DynamicDocument):
address = EmbeddedDocumentField(Address)
dob = DateTimeField(required = True)
sex = StringField(max_length = 1, choices = SEX)
primary_number = LongField(required = True)
以下来自views.py
def LoginOrCreateUser(request):
formAuth = AuthenticationForm(data=(request.POST or None))
if(request.method=='POST'):
if(formAuth.is_valid()):
if(formAuth.clean_email()):
if(formAuth.clean_password()):
formAuth.save(True)
user=authenticate(username=formAuth.cleaned_data['username'],password = formAuth.cleaned_data['password1'])
login(request,user)
return HttpResponse('New User Success')
This code gives me error <obj_id "user"> is NOT JSON serializable. The error is raised for login, so I guess here login API is provided by django but the user we are providing to it is the value got from authenticate which is mongoengine's provided api.
我查看了 django 和 mongoengine 的 auth.py。因此,我们在 mongoengine 中没有登录 API。 django 的认证返回用户实例,而 mongoengine 的认证返回一个字符串,即用户名。
此处的任何建议或我在此处实现时所犯的错误。
最佳答案
安德烈我只是试过你的例子,但它给了我
NameError at /game/ global name 'jsonResponse' is not defined
如果我像这样导入 jsonResponse
from django.http import HttpResponse,JsonResponse
然后给我
ImportError at /game/ cannot import name JsonResponse
我只想用我的 mongoengine 后端管理简单的用户身份验证。
谢谢。
关于django - mongoengine 和 django 身份验证,登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20011414/