Введение

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 .