2015-04-22 3 views
5

Ich benutze Mongoengine (v0.9) als Mapper für meine Django (v1.8) -Projekt von Python 3.4 ausgeführt.Django Auth Fehler bei der Verwendung von Mongoengine

Obwohl ich hinzugefügt haben Codes folgende Datei settings.py, halte ich immer noch diesen Fehler zu erhalten, während ein Benutzer Admin versuchen, eine Verbindung zu django Standard-Admin-Verfahren)

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') 

Attribute bei/admin/anmelden/

'MetaDict' Objekt hat kein Attribut 'pk'

Antrag Methode: POST

Anforderungs-URL: http://myapp.dev:8000/admin/login/

Django Version: 1.8

Ausnahmetyp: Attribut

Ausnahmewert: 'MetaDict' Objekt hat kein Attribut 'pk'

Ausnahme Ort: c: \ Programme \ . Python34 \ lib \ site-packages \ django \ contrib \ auth__init __ py in Login, Linie 111

Python-Executable: c: \ Programme \ Python34 \ python.exe

Python Version: 3.4.2

P. S: Ich habe auch versucht, Login-Prozess-Customizing von URL-Muster zu schreiben, Vorlage und Ansichten, aber gleichen Fehler auf "login()" Funktion aufrufen.

+1

haben Sie. finden Sie eine Lösung. Ich habe den gleichen Fehler –

+0

@himanshudua Leider noch nicht. Ich habe vorläufig eine temporäre Benutzermanager-Klasse geschrieben. Sobald ich irgendeine Lösung gefunden habe, werde ich meinen Code und diese Frage aktualisieren. – Rahman

+0

@himanshudua hat die Lösung? –

Antwort

1

Ich hatte das gleiche Problem, das Sie hatten. Ich habe ein neues GitHub-Projekt erstellt, um mein Problem zu lösen. Sie können es herunterladen oder ändern oder Code für Ihren eigenen Gebrauch extrahieren, indem Sie https://github.com/robintiwari/django-me gehen. Bitte lassen Sie mich wissen, wenn Sie Fragen zur Verwendung haben. Ich habe auch ein Beispielprojekt bezüglich der Konfiguration. Um genau zu sein, sollten Sie eine Antwort auf diesen Code https://github.com/robintiwari/django-me/blob/master/djangome/mongo_auth/middlewares.py

0

Veränderung in dieser Datei C: \ Programme \ Python34 \ lib \ site-packages \ django \ contrib \ auth__init __ py

try: 
    request.session[SESSION_KEY] = user._meta.pk.value_to_string(user) 
except Exception: 
    request.session[SESSION_KEY] = user.id