Python
Flask

Search for '{{search_term}}'

Hello World с Flask и Python

CMOS is the Code-Maven Open Source podcast that also includes video interviews. Subscribe to this feed RSS feed with your Podcast listener app or via iTunes iTunes.

Flask это микрофреймворк для Python, основанный на Werkzeug, Jinja 2 и хороших намерениях.

В этой статье мы рассмотрим пример "Hello World" на Flask, который описан на главной странице сайта этого фреймворка.

examples/flask/hello_world.py

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

После установки Flask с помощью pip install Flask я могу запустить приведенный выше скрипт через командную строку:

$ python examples/flask/hello_world.py 

И увижу такой ответ:

* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Затем я открыл браузер по указанному адресу и там действительно отображался "Hello World!", тем временем в консоли я увидел:

127.0.0.1 - - [03/Feb/2015 09:43:14] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [03/Feb/2015 09:43:14] "GET /favicon.ico HTTP/1.1" 404 -

Первая запись это мой запрос, вторая запись относится к браузеру, попытавшемуся загрузить иконку сайта. В конце первой строки приведен HTTP-статус 200, который указывает на успешное выполнение запроса, вторая строка заканчивается HTTP-статусом 404, обозначающим "Not found".

Код приложения выглядит достаточно очевидным.

Мы объявили функцию с произвольным именем (hello), и использовали декоратор @app.route("/"), чтобы связать запрос на / с этой функцией.

@app.route("/")
def hello():
    return "Hello World!"

Когда Flask запущен, он принимает HTTP-запросы, а затем перенаправляет их на функции, основываясь на пути, указанном в запросе. Таким образом код выше означает - если запрос приходит на /, тогда запустить функцию hello.

И в конце скрипта мы видим следующее:

if __name__ == "__main__":
    app.run()

Код app.run() запускает веб-сервер с приложением, основанным на Flask. Код if __name__ == "__main__": позволяет запустить веб-сервер только в случае, если этот код запускается как скрипт.

Это позволит нам использовать повторно код из этого файла как часть другого веб-приложения на Flask.

(В Perl такое поведение называют Modulino.)

Savenkova Natalya
Переводчик
Savenkova Natalya
Gabor Szabo
Автор
Gabor Szabo

Comments