Введение
Python — это универсальный язык программирования, который отлично подходит для веб-разработки. В этой статье мы проведем вас через процесс создания веб-приложений с использованием Python и популярного веб-фреймворка Flask. Мы рассмотрим основные шаги и предоставим вам примеры кода, которые помогут вам начать работу.
1. Настройка среды
Прежде чем погрузиться в веб-разработку, вам необходимо настроить среду разработки. Начните с установки Python и pip, менеджера пакетов для Python. После их установки используйте pip для установки Flask, выполнив следующую команду в терминале или командной строке:
pip install flask
2. Создание базового приложения Flask
Чтобы создать базовое приложение Flask, создайте новый файл Python (например, app.py
) и импортируйте модуль Flask:
from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'Hello, world!' if __name__ == '__main__': app.run()
В приведенном выше коде мы создаем приложение Flask, создавая экземпляр класса Flask
. Мы определяем маршрут ('/'
) с помощью декоратора @app.route
и связываем его с функцией hello
, которая возвращает строку 'Hello, world!'.
3. Запуск приложения
Чтобы запустить приложение Flask, перейдите в терминал или командную строку и перейдите в каталог, в котором находится ваш файл app.py
. Выполните следующую команду:
python app.py
Flask запустит локальный веб-сервер, и вы сможете получить доступ к своему приложению, открыв веб-браузер и перейдя к http://localhost:5000/
. Вы должны увидеть сообщение 'Hello, world!'.
4. Шаблоны рендеринга
В веб-разработке принято отделять логику приложения от его представления с помощью шаблонов. Flask предоставляет простой способ визуализации шаблонов с помощью механизма шаблонов Jinja. Давайте изменим наш предыдущий код для отображения HTML-шаблона:
- Создайте новую папку с именем
templates
в том же каталоге, что и ваш файлapp.py
. Flask будет автоматически искать шаблоны в папкеtemplates
. - Внутри папки
templates
создайте файл с именемindex.html
и добавьте следующий код:
<!DOCTYPE html> <html> <head> <title>My Flask App</title> </head> <body> <h1>Welcome to My Flask App!</h1> <p>This is a sample page rendered using Flask and Jinja templates.</p> </body> </html>
- Обновите файл
app.py
следующим кодом:
from flask import Flask, render_template app = Flask(__name__) @app.route('/') def render_index(): return render_template('index.html') if __name__ == '__main__': app.run()
Внутри шаблона index.html
у нас есть базовая структура HTML с заголовком, заголовком и абзацем. Это всего лишь простой пример, но вы можете расширить его, включив более сложные HTML, CSS, JavaScript и динамические данные, используя синтаксис шаблонов Jinja.
5. Обработка отправленных форм
Веб-приложения часто включают формы для взаимодействия с пользователем. Flask предоставляет удобные методы для обработки отправки форм. Давайте создадим простую контактную форму:
- Обновите файл
index.html
, включив в него элемент формы с полями ввода имени и электронной почты:
<!DOCTYPE html> <html> <head> <title>My Flask App</title> </head> <body> <h1>Welcome to My Flask App!</h1> <form action="/submit" method="post"> <label for="name">Name:</label> <input type="text" id="name" name="name" required><br><br> <label for="email">Email:</label> <input type="email" id="email" name="email" required><br><br> <input type="submit" value="Submit"> </form> </body> </html>
- Обновите файл
app.py
следующим кодом:
from flask import Flask, render_template, request app = Flask(__name__) @app.route('/') def contact_form(): return render_template('index.html') @app.route('/submit', methods=['POST']) def submit_form(): name = request.form['name'] email = request.form['email'] # Process the form data and perform necessary actions return f'Thank you, {name} with email {email}!' if __name__ == '__main__': app.run()
В обновленном коде мы добавили новый маршрут под названием contact_form()
, который отображает шаблон index.html
, когда пользователь посещает корневой URL-адрес ('/'
). Это отображает контактную форму с полями ввода для имени и электронной почты.
Мы также добавили новый маршрут под названием submit_form()
с URL-адресом /submit
. Этот маршрут настроен на прием HTTP-запросов POST, которые запускаются, когда пользователь отправляет форму. Внутри функции submit_form()
мы получаем доступ к данным формы, используя request.form
, и получаем значения полей name
и email
. Вы можете дополнительно обработать эти данные, например, сохранить их в базе данных или отправить по электронной почте.
В этом примере мы просто возвращаем благодарственное сообщение с именем и адресом электронной почты отправителя, используя f-string
. Вы можете настроить это сообщение и добавить желаемую логику для обработки отправки формы.
Заключение
В этой статье мы рассмотрели процесс создания веб-приложений на Python с использованием инфраструктуры Flask. Мы рассмотрели настройку среды, создание базового приложения Flask, отрисовку шаблонов и обработку отправленных форм. С этой основой вы можете продолжить изучение и расширение своих навыков веб-разработки с помощью Python.
Помните, что веб-разработка — это обширная область, и эта статья лишь коснулась ее поверхности. Продолжайте экспериментировать, изучайте документацию Flask и опирайтесь на полученные знания для создания более сложных и интерактивных веб-приложений с использованием Python. Удачного кодирования!
Надеюсь, вам понравилось читать эту статью, и вы найдете ее полезной для своих целей.
Если вам понравился этот пост, вы можетеподписаться на меня на Medium. Не стесняйтесь делиться со мной любыми вопросами или предложениями 🤓
Дополнительные материалы на PlainEnglish.io.
Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .