使用mongoengine时Django auth错误

Rah*_*man 5 python django mongoengine python-3.x

我使用mongoengine(v0.9)作为我的由Python 3.4运行的Django(v1.8)项目的映射器.

虽然我已将以下代码添加到settings.py文件中,但是当用户尝试使用django默认管理进程连接到admin时,我仍然会收到此错误

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'mongoengine.django.mongo_auth',
    'myapp',
)

AUTHENTICATION_BACKENDS = ('mongoengine.django.auth.MongoEngineBackend',)

SESSION_ENGINE = 'mongoengine.django.sessions'

connect('mymongodb')
Run Code Online (Sandbox Code Playgroud)

/ admin/login /中的AttributeError

'MetaDict'对象没有属性'pk'

请求方法:POST

请求网址:http://myapp.dev: 8000/admin/login /

Django版本:1.8

异常类型:AttributeError

异常值:'MetaDict'对象没有属性'pk'

异常位置:c:\ Programs\Python34\lib\site-packages\django\contrib\auth__init __.py in login,line 111

Python可执行文件:c:\ Programs\Python34\python.exe

Python版本:3.4.2

PS:我也尝试通过编写URL模式,模板和视图来自定义登录过程,但是在调用"login()"函数时会出现相同的错误.

小智 1

我和你们遇到了同样的问题。我创建了一个新的 github 项目来解决我的问题。您可以访问https://github.com/robintiwari/django-me下载或修改它或提取代码供您自己使用。如果您对如何使用它有任何疑问,请告诉我。我还有一个有关配置的示例项目。具体来说,您应该在此代码中找到答案https://github.com/robintiwari/django-me/blob/master/djangome/mongo_auth/middlewares.py