django - mongoengine 和 django 身份验证,登录

标签 django authentication login mongoengine

我正在尝试使用 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/

相关文章:

Silverlight 用户身份验证

php - 如何从过程文件发送回数据? (例如错误)

python - Django allauth 自定义模板不散列密码

javascript - 将 JSON 列表从 Javascript 发送到 Django 后端并正确解析它

php - PHP 中的 REST 身份验证 (CodeIgniter)

angular 5 - 登录后重定向上一页

ios - Facebook iOS iOS SDK登录错误

ubuntu - 权限被拒绝(公钥、密码)。在使用 ssh 登录时

python - 如何将 wiris 添加到 django-ckeditor

python - Django 请求在干净的表单中不可用