Überholte Django-Allauth Login- / Registrierungs-URLs mit benutzerdefinierten URLs / Seiten
Ich habe Django-Allauth für die Anmeldung über Facebook, Twitter und Google konfiguriert.
Django-Allauth akzeptiert Anmeldeanfragen jedoch nur bei/accounts/login/
, Anmeldeanfrage nur bei/accounts/signup/
etc. Ich habe ein modales Anmelde- und Registrierungsformular auf meiner Homepage und möchte nur dieses verwenden.
Wie verwende ich das Django-Allauth-System, um die Anmeldung (sozial und benutzerdefiniert) / Registrierung usw. über das modale Formular auf meiner Homepage zuzulassen? Ich suche nach einem Mechanismus, um die URLs von Django-Allauth zu überschreiben und durch meine Seiten / URLs zu ersetzen.
Der Code istHie
Das modale HTML-Formular lautetHie.
Diese Frage ähnelt vielleichtDie. Die Antwort in der Frage ist jedoch nicht zu verständlich.
Nach einigen Antworten habe ich folgende Änderungen vorgenommen:
#views.py
def logreg(request):
context = {
'login_form': MyLoginForm(),
'signup_form': MySignupForm()
}
return render(request, 'login.html', context)
#In URL Patterns of urls.py
url(r'^login/', logreg, name='login'),
In Index ( from where call to the modal is to be made):
<p>Welcome visitor <a href="#" data-modal-url="{% url 'login' %}">Login</a> or <a href="#">Register</a></p>
Alle diese Arbeit führte zu diesem Chaos:
Internal Server Error: /login/
Traceback (most recent call last):
...
django.core.urlresolvers.NoReverseMatch: Reverse for 'ecomweb.home' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
During handling of the above exception, another exception occurred:
...
django.core.urlresolvers.NoReverseMatch: Reverse for 'home' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
Ich bin verrückt nach dem, was passiert.