Używając przykładowego kodu dostarczonego przez Flask-Security, mogę normalnie uzyskać dostęp do formularza login_user.html
z trasy /login
i to działa dobrze. Chciałbym jednak zamieścić formularz logowania na wszystkich stronach mojej witryny w lewym górnym rogu. Pomyślałem, że mogę użyć oświadczenia Jinja {% include "security/login_user.html" %}
, aby umieścić formularz w base.html
, ale to nie działa. Pojawia się następujący błąd:Jak umieścić na stronie formularz logowania Flask-Security?
jinja2.exceptions.UndefinedError: 'login_user_form' is undefined
Czy istnieje sposób, aby włączyć lub osadzić formularza logowania wewnątrz innego szablonu i nadal uzyskać dostęp do danego obiektu formularza?
Jest to oczywista odpowiedź, ale w tym przypadku nie jest zbyt pomocna. Pytasz ich, czy utworzyć i przekazać ten formularz ręcznie dla każdego widoku. Nie pokazujesz, skąd wziąć formularz (pochodzi z Flask-Security). Poza formularzem wymaganym przez ten szablon istnieje także inny kontekst. Nawet jeśli wstawiłeś to za pomocą 'context_processor', to nadal pomija faktyczny problem, co oznacza, że' login_user.html' jest pełnym szablonem strony, nie jest odpowiedni do wstrzykiwania małego formularza na każdej stronie. – davidism