Для реализации данного функционала на Flask можно использовать декоратор @login_required из модуля flask_login.
1. Установите flask_login, если его еще нет:
```
pip install flask_login
```
2. Создайте объект LoginManager и настройте его в вашем приложении Flask:
```python
from flask import Flask
from flask_login import LoginManager
app = Flask(__name__)
app.secret_key = 'your_secret_key_here'
login_manager = LoginManager()
login_manager.init_app(app)
```
3. Создайте представление для страницы, на которую будет происходить перенаправление при нажатии на кнопку:
```python
from flask_login import login_required
@app.route('/registration_page')
@login_required
def registration_page():
return 'Registration page for logged in users'
```
4. Реализуйте функционал для проверки статуса аутентификации пользователя:
```python
from flask import redirect, url_for
@login_manager.user_loader
def load_user(user_id):
return User.get(user_id) # замените на вашу реализацию загрузки пользователя
@login_manager.unauthorized_handler
def unauthorized():
return redirect(url_for('login')) # замените 'login' на имя представления для страницы входа
```
5. Добавьте кнопку на ваш шаблон, которая будет перенаправлять пользователя на страницу регистрации:
```html
{% if current_user.is_authenticated %}
<a href="{{ url_for('registration_page') }}" class="btn btn-primary">Register</a>
{% endif %}
```
Теперь при нажатии на кнопку "Register" пользователь будет перенаправлен на страницу регистрации только в случае, если он аутентифицирован.