В мире современной веб-разработки создание простого веб-приложения является отличным способом начать свой путь. В данной статье мы рассмотрим, как использовать 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» — это лишь начало вашего пути в этом направлении.