Ich versuche Django-allauth in meinem Projekt einzurichten. Ich stoße auf diesen Fehler und kann ihn nicht beheben.
Umgebung:
%Vor%Installierte Middleware:
%Vor%Ich habe tatsächlich eine Facebook-App in Django Admin konfiguriert, kann aber nicht verstehen, warum es diese Ausnahme gibt.
%Vor%INSTALLED_APPLICATIONS
hinzugefügt
TEMPLATE_CONTEXT_PROCESSORS
Einstellung AUTHENTICATION_BACKENDS
allauth
URLs in urls.py
Ist das alles was getan werden muss oder gibt es noch mehr? Wenn ja, können Sie mich bitte auf die relevanten Dokumente verweisen?
Das Problem könnte mit Ihrer Datenbank zusammenhängen. Angenommen, Sie müssen die Datenbank synchronisieren.
Wenn das nicht funktioniert, stellen Sie sicher, dass das Site
, dem Sie Ihre Facebook-App hinzugefügt haben, die Domain localhost:8000
hat, wenn Sie localhost verwenden oder 127.0.0.1:8000
, wenn Sie 127.0.0.1:8000
Weitere Informationen finden Sie in diesem Tutorial zu allen Fragen .
Sie können auch versuchen, die example.com
-Website vom Administrator zu entfernen und eine neue Website hinzuzufügen, die localhost:8000
oder 127.0.0.1:8000
verwendet und die Facebook-App für soziale Netzwerke unter der neuen Website hinzufügt. Vergiss auch nicht die SITE_ID
Variable in deiner settings.py
Datei zu setzen.
Ich hatte das gleiche Problem hier und das Problem war die SITE_ID, die standardmäßig 1 ist. Allerdings wird 1 der Beispielwebsite zugewiesen, die standardmäßig angezeigt wird, wenn Sie das Admin-Steuerfeld sehen. Nachdem ich meine Website für die Konfiguration eines Facebook-Logins erstellt hatte, ersetzte ich die SITE_ID = 2 in settings.py und es funktionierte. Eine andere Option ist das Löschen der Beispiel-Site, aber sie wird wieder angezeigt, wenn Sie Ihre Datenbank irgendwann löschen und neu erstellen.
Das hat mich drei Stunden gekostet, bis ich realisierte ...: S
Ich hatte das gleiche Problem und ich denke, einige Erklärungen werden anderen helfen: Django-Allauth verwendet Django-Sites, die es sehr verwirrend machen können.
Es ist sehr einfach, versehentlich Websites hinzuzufügen, wenn Sie Ihre soziale App konfigurieren.
Damit alles funktioniert, müssen Sie sicherstellen, dass die SITE_ID in Ihren Einstellungen mit der Domain übereinstimmt, die Sie in Ihrer Facebook-App aktiviert und in der sozialen App auf dem Django-Backend ausgewählt haben. Wenn die an einem dieser drei Standorte angegebene Site falsch ist, wird der Fehler 'Unsachgemäß konfiguriert ...' angezeigt.
Wenn Sie, wie ich, von Anfang an alles durcheinander gebracht haben, tun Sie dies, damit die Facebook-Authentifizierung funktioniert:
Führen Sie Ihren Server und Facebook Authentifizierung sollte funktionieren.
Der site_id
in der settings.py muss mit dem django admin-Eintrag für Ihre Site übereinstimmen (während des Tests kann es sich um localhost: 8000 handeln). Dies befindet sich in der Auswahl "Sites" unter der Überschrift "Sites" (wieder im Admin). Um Ihre site_id
zu erhalten, klicken Sie auf "Sites". Hinweis: Nur weil Sie 2 Einträge haben und die zweite ist Ihre, bedeutet das nicht site_id = 2
. Klicken Sie auf Ihren Eintrag und notieren Sie in der Adresszeile die Nummer. Dies wird oben und an anderer Stelle behandelt, aber da ich neu in der Codierung bin, brauchte ich explizitere Anweisungen.
sehen Sie die 3 im Bild? Nun, es war mein 2. von 2 Einträgen in "Sites"
Tags und Links django facebook django-allauth