Привет 👋 :)
Flask — фреймворк для создания веб-приложений на языке программирования Python.
В этой статье веб-приложение и есть другим словом - сайт, так как пример, который будет продемонстрирован будет возвращать некоторую разметку клиенту, который подключиться к локальному хосту.
Для начала нужно настроиться. Установим Flask . Открываем cmd(терминал) и вводим - pip install flask.
Жмём Enter. Flask установлен. Если возникла ошибка, попробуйте обратиться к этим постам - что такое pip и как установить python.
Пример:
from flask import Flask # импортируем flask
app = Flask(__name__) # стандартно, приложению flask дают имя для
переменной app, но вы можете использовать
любое другое, главное чтобы было читаемо и
понятно, для вас по крайней мере :)
@app.route('/hello')
def hello_world():
return 'Hello, World!'
app.run() # запуск приложения
Будет ёмко и не по теме сейчас рассказывать о декораторах, и поэтому пока определение.
Декоратор — это функция, которая позволяет обернуть другую функцию для расширения её функциональности без непосредственного изменения её кода.
Декоратор @app.route('/hello') создаёт маршрут по ссылке до функции, которая должна вернуть что-то чтобы показать клиенту контент. Декоратор как ловец событий. В данном случае @app.route('/hello') - сработает при следующих обстоятельствах, когда клиент зайдёт по ссылке сайта например https://prosto-sait.ru/hello , декоратор словит этот вызов. Потому что после доменной ссылки prosto-sait.ru пишется /hello.
Из всей записи аргумента '/hello' декоратора в @app.route, обязательным должен оставаться слеш '/', остальные записи произвольные. То есть запись декоратора может выглядеть так @app.route('/') и тогда он уже сработает на вызов по ссылке - https://prosto-sait.ru/ .
Декоратор с аргументом, который получен через url запроса клиента будет выглядеть так @app.route('/<user>') . А функция, которая под этим декоратором с обязательным аргументом, имя которой должно быть такое же как и в декораторе.
Таким образом всё что написано выше можно записать в следующем виде:
from flask import Flask
flask app = Flask(__name__)
@app.route('/')
def main_menu():
return '<h1>Главное меню</h1> '
@app.route('/hello')
def hello_world():
return 'Hello, World!'
@app.route('/<user>')
def users( user=None ):
if user != None:
return f"Hello {user}"
app.run()
Пример с переходом по ссылке сайта https://prosto-sait.ru/ , это просто пример. Когда запустите выполнение кода, то вы подключитесь к локальному хосту, то есть к самому себе, и ни кто кроме вас не сможет зайти на такой сайт, он виден только локально. По-умолчанию ссылка на локальный сайт во Flask - http://127.0.0.1:5000/
По экспериментируйте. Введите больше обработчиков(декораторов), создайте различные ссылки.
В посте не рассказаны многие фичи Flask'a , в будущих постах конечно буду привлекать ещё большие возможности Flask.
Для самостоятельной работы, ознакомьтесь с HTML разметкой. HTML ёмкий материал, но простой. А по Flask , попробуйте вернуть страницу клиенту через render_template.
Следующий пост, про динамический контент страницы сайта. Как заставить обновляться те или иные элементы на странице, без обновления страницы. Речь будет идти о сокетах.
Спасибо за внимание! :)
Подписывайтесь на канал, ставьте лайки 👍 😉