Django-allauth Keine Facebook App konfiguriert: Bitte fügen Sie eine SocialApp mit dem Django Admin hinzu

7

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%
  • Ich habe allauth-Apps zum INSTALLED_APPLICATIONS hinzugefügt
  • Hinzugefügt: TEMPLATE_CONTEXT_PROCESSORS Einstellung
  • Die Einstellung wurde bearbeitet, AUTHENTICATION_BACKENDS
  • Hinzugefügt 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?

    
manu 24.12.2012, 08:34
quelle

6 Antworten

13

Das Problem könnte mit Ihrer Datenbank zusammenhängen. Angenommen, Sie müssen die Datenbank synchronisieren.

DO

%Vor%

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

verwenden

Weitere Informationen finden Sie in diesem Tutorial zu allen Fragen .

AKTUALISIEREN

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.

    
Amyth 24.12.2012, 08:42
quelle
9

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

    
narko 30.07.2014 14:11
quelle
3

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:

  1. Gehen Sie zu Ihrer Facebook App und notieren Sie die 'Site URL' - Dies ist die einzige Website wird Ihre Facebook App authentifizieren. Zum Testen verwende ich '%Code%'. Nenne diese mysite .
  2. Gehe in Django admin auf deine facebook-App und vergewissere dich, dass du mysite als einzige Site in den "ausgewählten Websites" hast. Fügen Sie es mit admin / sites hinzu, wenn es nicht in der Liste ist.
  3. Gehe zu admin / sites und lösche alles, was nicht dort sein sollte.
  4. Benutze phpmyadmin oder ähnliches, um deine django_site-Tabelle zu betrachten Notieren Sie die site_id für mysite .
  5. Aktualisieren Sie Ihre Einstellungen, sodass SITE_ID auf die ID mysite gesetzt ist.

Führen Sie Ihren Server und Facebook Authentifizierung sollte funktionieren.

    
Paul Whipp 18.07.2013 07:44
quelle
2

Ich hatte die gleichen Probleme und danke allen für nützliche Vorschläge. Hier ist mein Lösungsrezept: (Ich machte chmod +x manage.py )

%Vor%

* Schemamigration wird mit installiertem South (!)

verwendet     
boldnik 06.06.2013 21:51
quelle
1

Was für mich funktionierte, war, unter Verfügbare Sites , (in diesem Fall example.com der Standard-SITE_ID-Name) zu wählen und rechts ausgewählt hinzuzufügen Sites und speichern Sie sie beim Erstellen einer Social Application

    
Rexford 11.07.2015 22:46
quelle
0

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"

    
DanHitt 09.03.2016 03:42
quelle

Tags und Links