Создание простой страницы входа с использованием Flask
Flask - это легкий и гибкий веб-фреймворк для Python, который позволяет быстро создавать веб-приложения. Он предоставляет простой способ создания страниц входа в систему для ваших веб-приложений. В этой статье мы рассмотрим, как создать базовую страницу входа с использованием Flask.
Установка Flask
Перед тем как начать, убедитесь, что у вас установлен Flask. Если нет, вы можете установить его с помощью pip:
pip install Flask
Начало
Давайте начнем с создания основного файла нашего приложения app.py. Вот простой пример того, как это может выглядеть:
from flask import Flask, render_template, request, redirect, url_for
app = Flask(__name__)
# Фиктивная база данных пользователей
users = {'username': 'password'}
@app.route('/')
def index():
return render_template('index.html')
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
if username in users and users[username] == password:
# Аутентификация успешна
return redirect(url_for('dashboard'))
else:
# Аутентификация не удалась
return render_template('login.html', error='Неверное имя пользователя или пароль')
# Если это GET-запрос, просто отображаем страницу входа
return render_template('login.html')
@app.route('/dashboard')
def dashboard():
return render_template('dashboard.html')
if __name__ == '__main__':
app.run(debug=True)
HTML-шаблоны
Теперь мы создадим HTML-шаблоны для нашего приложения. Мы создадим три шаблона: index.html для главной страницы, login.html для страницы входа и dashboard.html для панели управления.
index.html
:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Главная</title>
</head>
<body>
<h1>Добро пожаловать на главную страницу</h1>
<a href="{{ url_for('login') }}">Войти</a>
</body>
</html>
login.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Вход</title>
</head>
<body>
<h1>Вход</h1>
{% if error %}
<p style="color: red;">{{ error }}</p>
{% endif %}
<form method="post" action="{{ url_for('login') }}">
<label for="username">Имя пользователя:</label>
<input type="text" id="username" name="username" required><br>
<label for="password">Пароль:</label>
<input type="password" id="password" name="password" required><br>
<input type="submit" value="Войти">
</form>
</body>
</html>
dashboard.html
:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Панель управления</title>
</head>
<body>
<h1>Добро пожаловать в панель управления</h1>
<a href="{{ url_for('index') }}">На главную</a>
</body>
</html>
Запуск приложения
Теперь мы можем запустить наше приложение. Просто запустите app.py, и ваше веб-приложение будет доступно по адресу http://127.0.0.1:5000/.
python app.py
Таким образом, мы создали динамическую Web-страницу c Python, о чем подробно рассказано в видеокурсе Программирование на Python с Нуля до Гуру.
Теперь, когда вы перейдете на главную страницу, вы увидите ссылку на страницу входа. После входа в систему вы будете перенаправлены на панель управления. Если учетные данные введены неправильно, вы увидите сообщение об ошибке на странице входа.
Это основы создания простой страницы входа с использованием Flask. Вы можете расширить этот пример, добавив функции аутентификации и разграничения доступа по мере необходимости для вашего веб-приложения.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.