Anstatt sich auf der Seite '../account/login/' anzumelden, möchte ich Benutzern die Möglichkeit geben, sich direkt auf der Startseite einzuloggen. Was soll ich tun, um es zu ermöglichen? Wie verbinde ich Eingabefelder auf der Startseite mit allauth? Ich weiß nicht, ob das zu kompliziert ist, um es so zu machen?Einloggen/Registrieren direkt auf der Homepage
Antwort
Es gibt eine Lösung, die für mich funktioniert. Es ist nicht die optimale Lösung, weil es nicht DRY ist, also wäre ich dankbar, wenn jemand es verbessert!
Im Grunde genommen habe ich die offizielle Allauth-Anmeldevorlage gerendert und den HTML-Code des Formulars kopiert. Dann habe ich das csrf-Token und die URLs geändert und in die Homepage-Vorlage eingefügt.
Hier ist der Beispielcode für das Anmelden/Abmelden. Sie können das gleiche mit der Anmeldung tun. (Beachten Sie, dass ich nur die E-Mail-Adresse und nicht den Benutzernamen für die Anmeldung verwende. Ihr Code könnte sich je nach Ihren Einstellungen unterscheiden. Sehen Sie sich Ihre Login- und Anmeldevorlagen an, um zu sehen, welche Eingabefelder Sie benötigen.
{% load account %}
<h1>Login/Logout</h1>
{% if user.is_authenticated %}
<p>Loged in with e-mail: {{ request.user.email }}</p>
<a href="{% url "account_logout" %}">Logout</a>
{% else %}
<form action="{% url "account_login" %}" method="post">
{% csrf_token %}
<input type="email" placeholder="E-mail" name="login">
<input type="password" placeholder="Password" name="password">
<label for="id_remember_menu" class="text-primary">Remember Me:</label>
<input id="id_remember_menu" name="remember" type="checkbox">
{% if redirect_field_value %}
<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
{% endif %}
<button type="submit">Login</button>
<a href="{% url 'account_reset_password' %}">Forgot Password?</a>
</form>
{% endif %}
Ich mag würde, den Code zu verbessern und in der Lage das Formular direkt in der Homepage-Vorlage mit {{ form }}
statt Kopieren des HTML zu rendern. Wenn ich es schaffe, werde ich die Antwort später aktualisieren.
Wenn Sie wirklich müssen, können Sie alle URL-URLs unter einen anderen Pfad setzen. allauth verwendet eine namensbasierte URL-Umkehrung, so dass das neue Pfadpräfix automatisch übernommen wird.
Leider hilft das nicht, weil ich Anmeldeformular und Anmeldeformular auf der gleichen Seite (Homepage zum Beispiel) haben muss. Ich brauche so etwas: http://healthifyme.com/ Die meisten Websites, die allauth verwenden, haben den Standard-URL-Pfad (accounts /), aber ich muss das wirklich anpassen. –
- 1. Iterate durch json auf der Homepage (jquery)
- 2. Alfresco 5.1 haben Blog-Beiträge auf der Homepage der Website
- 3. WP - jquery funktioniert nur auf der Homepage
- 4. DisplayLayered Navigation basierend auf der Root-Kategorie auf der Homepage
- 5. Entfernen der Homepage-URL Titel
- 6. Paginierung in der Kategorie Homepage
- 7. Einbettung CSS in der Homepage
- 8. Wie kann ich den SiteMapPath-Stammknoten auf der Homepage ausblenden?
- 9. jQuery 1.7.1 Schieberegler funktionieren nicht, außer auf der Homepage
- 10. Wie funktioniert die Beispielgrammatik auf der antlr4-Homepage?
- 11. Wie man die auf der Blogger-Homepage angezeigte Bildgröße angibt
- 12. Dev-Modul meldet 40-50 Abfragen auf der Drupal-Homepage
- 13. Wie wird das Google Form-Plugin auf der Homepage angezeigt?
- 14. Unerwünschte Texte, die oben auf der Homepage angezeigt werden
- 15. Wenn auf der Homepage, ganz meine Navigation hervorgehoben wird
- 16. https Umleitung in .htaccess funktioniert nicht auf der Homepage
- 17. Presta-Shop-Meta-Tag auf der Homepage Ausgabe
- 18. PacMan auf der Google-Homepage, wie ist es implementiert?
- 19. BufferedReader direkt auf Byte []
- 20. Statischer Block auf Homepage in Magento
- 21. In Bezug auf WordPress benutzerdefinierte Homepage
- 22. FF Addon Benutzer auf ihre Homepage senden?
- 23. Homepage mit "sub" Ansichten basierend auf Benutzerrolle
- 24. Zugriff auf Strukturkomponenten direkt
- 25. Bild zur linken Spalte der Homepage hinzufügen
- 26. Google Karte API in der Homepage - Wordpress
- 27. Pinging der Homepage zu bestimmten Zeiten
- 28. Homepage Login von django
- 29. .htaccess umleiten alle Seiten außer der Homepage
- 30. Cache Zend Framework Homepage auf nginx
Hat es für Sie funktioniert? Wenn ja, bitte vergessen Sie nicht, die Antwort zu aktualisieren und zu akzeptieren! Danke – ferrangb
Das ist der richtige Weg, danke! –
@ferrangb Haben Sie eine Möglichkeit gefunden, {{form}} direkt zu verwenden, anstatt die HTML-Codes zu kopieren? – Joey