2017-01-12 6 views
0

Ich habe ein Flask-Admin-Projekt mit Flask-Security eingerichtet. Es ist ziemlich viel https://pythonhosted.org/Flask-Security/quickstart.html#id1 aber gerade weiter fortgeschritten. Ich kann auf die Anmeldeseite unter localhost/login und logout und localhost/logout zugreifen. Das An- und Abmelden funktioniert.Flask-Admin und Flask-Security einrichten

Die Vorlagen für Flask-Admin funktioniert und alles wird angezeigt, wie ich es erwarten würde. Es sind jedoch keine Vorlagen auf meinem Computer oder Docker-Container vorhanden, auf denen die Flask-Admin-Anwendung ausgeführt wird. Ich habe Flask installiert, indem ich pip install Flask-Admin ausgeführt habe. Ich weiß, dass ich über das Sicherheitsprotokoll in durch Zugabe von etwas wie

SECURITY_LOGIN_USER_TEMPLATE = 'security/login_user.html' 

in die Konfigurationsdatei und das Hochladen auf /templates/security/login_user.html fahren kann. Es gibt auch

{%extends base.html} 

, um ein gemeinsames Thema zu haben. Sollte ich bereits Template-Dateien in meinem Projekt haben?

Antwort

0

Flask Sicherheit haben eine Standard-Login-Vorlage, wenn Sie für die Anmeldung Ihre eigene Vorlage verwenden möchten oder registrieren Sie folgendermaßen vor:

  1. der ein Unterordner mit dem Namen Sicherheits erstellen
  2. in Vorlagenordner
  3. Ihre HTML-Dokumente hinzufügen in diesen Ordner
  4. Gehen Sie zu Ihrer Kolben-Konfiguration und fügen Sie die folgenden Einstellungen:

    Wenn Sie das Register Funktionalität

    wollen

    SECURITY_REGISTERABLE = True

    Fügen Sie den Namen Ihrer Vorlagen:

    SECURITY_LOGIN_USER_TEMPLATE = 'security/login.html'

    SECURITY_REGISTER_USER_TEMPLATE = 'security/register.html'

Denken Sie daran, das entsprechende Formular in login.html und in register.html zu verwenden, in der Regel verursacht Zweifel aber ist einfach:

regis ter.html: register_user_form.field

login.html: login_user_form.field

Dies sind die Konfigurationen für diese korrekt funktionieren.

dieses Repository können Sie besser Zweifel sehen und zu verstehen: