Я нашел похожий вопрос здесь , но ответ, похоже, не работает для меня.
Я использую Flask User (который расширяет Flask Login, я полагаю ) и по большей части работает очень хорошо. Я создал свои собственные совершенно бесплатные sh шаблоны для входа и регистрации, вместо того, чтобы использовать их предоставленные. Следуя документации , я разместил эти шаблоны в templates/flask_user/login.html
, templates/flask_user/register.html
и т. Д.
Я также установил USER_UNAUTHENTICATED_ENDPOINT = "login"
и USER_UNAUTHORIZED_ENDPOINT = "login"
в моем файле конфигурации, где login
- это имя моего маршрута входа.
Проблема в том, что если я выхожу из системы и пытаюсь получить прямой доступ к странице, требующей входа пользователя в систему, меня отправят на http://localhost:5000/user/sign-in
и отображается страница входа Flask-Login
. В этом есть две ошибки: 1) это неправильный маршрут для входа и 2) это неправильный шаблон для входа.
Я буду благодарен за любую помощь, которую кто-нибудь может предложить для этого , пожалуйста.
EDIT:
Код из __init__.py
, который инициализирует приложение и LoginManager:
app = Flask(__name__)
@app.context_processor
def inject_production_status():
return dict(production=True)
# Initialise flask_login
login = LoginManager(app)
login.login_view = 'login'
login.refresh_view = "login"
login.needs_refresh_message = "Please sign in again to access this page"
UserManager определяется в нижняя часть models.py
:
user_manager = UserManager(app, db, User)