В мире современной веб-разработки создание простого веб-приложения является отличным способом начать свой путь. В данной статье мы рассмотрим, как использовать Flask, легкий веб-фреймворк для Python, для создания простого «Hello, World» приложения.
Установка Flask
Перед тем, как приступить к созданию приложения, необходимо установить Flask. Откройте терминал и выполните следующую команду:
bash pip install flask
Структура проекта
Чтобы организовать проект, создайте следующую структуру папок:
lua my_flask_app/ |-- app/ | |-- __init__.py | |-- routes.py |-- run.py app/ - папка, где будет храниться основной код приложения. __init__.py - файл для инициализации Flask. routes.py - файл, где мы будем определять маршруты нашего приложения. run.py - файл для запуска приложения.
Инициализация Flask
В файле __init__.py инициализируем Flask: python from flask import Flask app = Flask(__name__) from app import routes
Определение маршрута
В файле routes.py определяем простой маршрут «Hello, World»:
python from app import app @app.route('/') def hello_world(): return 'Hello, World!' Запуск приложения В файле run.py добавим код для запуска приложения: python from app import app if __name__ == '__main__': app.run(debug=True)
Запуск и проверка
Теперь перейдите в терминал, перейдите в корневую папку вашего проекта и выполните:
bash python run.py
Откройте браузер и введите адрес http://127.0.0.1:5000/ или http://localhost:5000/. Вы должны увидеть надпись «Hello, World!» на странице.
Разработка структуры HTML
Давайте добавим немного интерактивности к нашему «Hello, World» приложению, вставив приветственное сообщение в простой HTML-шаблон.
Создание HTML-шаблона
Создайте папку templates внутри папки app. В этой папке создайте файл index.html со следующим содержанием:
html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Hello, World!</title> </head> <body> <h1>{{ greeting }}</h1> </body> </html>
Изменение маршрута
В файле routes.py внесем изменения, чтобы использовать наш HTML-шаблон:
python from flask import render_template from app import app @app.route('/') def hello_world(): return render_template('index.html', greeting='Hello, World!')
Разделение логики и представления
Для повышения читаемости кода и поддерживаемости приложения хорошей практикой является разделение логики и представления. Давайте внесем изменения, чтобы выделить логику в отдельный файл.
Создание класса контроллера
В папке app создайте новый файл controllers.py и определите в нем класс контроллера:
python class HelloWorldController: def get_greeting(self): return 'Hello, World!'
Обновление маршрута
Теперь в файле routes.py мы можем использовать этот контроллер:
python from flask import render_template from app import app from app.controllers import HelloWorldController hello_world_controller = HelloWorldController() @app.route('/') def hello_world(): greeting = hello_world_controller.get_greeting() return render_template('index.html', greeting=greeting)
Обновление HTML-шаблона
Также обновим наш HTML-шаблон (templates/index.html) для использования динамического контента:
html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Hello, World!</title> </head> <body> <h1>{{ greeting }}</h1> </body> </html>
Теперь мы разделили логику (контроллер) и представление (HTML), что делает код более чистым и поддерживаемым.
Заключение
Создание простого веб-приложения с использованием Flask — это отличный способ ознакомиться с веб-разработкой на Python. Flask предоставляет простой и гибкий способ создания веб-приложений, и ваш первый «Hello, World» — это лишь начало вашего пути в этом направлении.