Быстрый пример установки и запуска образца файла hello.py с приложением Flask с документацией интерфейса командной строки (CLI) на веб-сайте Flask. Первое, что вам нужно сделать, это установить модуль flask с помощью утилиты pip3 в Fedora Linux (или на большинстве других платформ):
pip3 install flask --user student
Вы должны увидеть такой успешный журнал для пользователя student:
Requirement already satisfied: flask in /usr/local/lib64/python3.7/site-packages (1.1.2) Collecting student Downloading https://files.pythonhosted.org/packages/b5/af/be416c18e4fe63a582e06fb0d47bf059bd0f4f413e5a6cfe893747ebaf79/Student-0.0.1-py3-none-any.whl Requirement already satisfied: click>=5.1 in /usr/lib/python3.7/site-packages (from flask) (7.1.1) Requirement already satisfied: itsdangerous>=0.24 in /usr/local/lib/python3.7/site-packages (from flask) (1.1.0) Requirement already satisfied: Werkzeug>=0.15 in /usr/local/lib/python3.7/site-packages (from flask) (1.0.1) Requirement already satisfied: Jinja2>=2.10.1 in /usr/lib/python3.7/site-packages (from flask) (2.10.1) Requirement already satisfied: MarkupSafe>=0.23 in /usr/lib64/python3.7/site-packages (from Jinja2>=2.10.1->flask) (1.1.1) Installing collected packages: student Successfully installed student-0.0.1
Программа с наименьшей занимаемой площадью hello.py:
# Импорт операторов. from flask import Flask # Определение приложения. app = Flask(__name__) # Базовая маршрутизация URI. @app.route(" / ") # Определите функцию hello. def hello(): return "Hello World!- # Запуск программы. if __name__ = = "__main__": app.run()
Вы можете запустить программу из командной строки двумя командами:
export FLASK_APP=hello.py flask run
В сеансе терминала он покажет вам следующее:
* Serving Flask app "hello.py" * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: off * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Введите следующий URL-адрес в локальном браузере:
http://localhost:5000/
Flask добавит в журнал консоли следующее:
127.0.0.1 - - [26/Oct/2020 00:37:49] "GET / HTTP/1.1" 200 -
Вы можете оживить программу hello.py с помощью списка аргументов, как в этом модифицированном примере:
# Импорт библиотек. from flask import Flask, escape, request # Определите приложение. app = Flask(__name__) # Определите базовый маршрут URI и функцию. @app.route(' / ') def index(): return "индекс страницы" # Определение маршрута URI приложения и функции. @app.route("/hello") def hello(): name = request.args.get("name","AndreyEx") return f'Hello {escape(name)}!' # Определите маршрут и функцию about URI. @app.route("/about") def about(): return "О Странице" # Запустить файл. if __name__ = = "__main__": app.run()
Он напечатает ‘Hello AndreyEx!’ на веб-странице. Если вы попытаетесь остановить сервер Flask с помощью Ctrl+Z вместо Ctrl+C, в следующий раз, когда вы запустите его, вы получите сообщение об ошибке, например:
OSError: [Errno 98] Address already in use
Вам нужно будет найти идентификатор процесса Linux и убить процесс. Вы можете найти процесс с помощью следующей команды Linux:
sudo netstat -nlp | grep 5000 [sudo] password for student:
Он запрашивает пароль sudoer, а затем возвращает строку вроде:
tcp 0 0 127.0.0.1:5000 0.0.0.0:* LISTEN 76802/python3
Вы завершаете процесс с помощью следующей команды Linux:
kill -9 76802