Найти тему

Как создать сайт? Flask - мега крутой веб-фреймфорк на python для новичков.

Привет 👋 :)

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.

-2

Для самостоятельной работы, ознакомьтесь с HTML разметкой. HTML ёмкий материал, но простой. А по Flask , попробуйте вернуть страницу клиенту через render_template.

Следующий пост, про динамический контент страницы сайта. Как заставить обновляться те или иные элементы на странице, без обновления страницы. Речь будет идти о сокетах.

-3

Спасибо за внимание! :)
Подписывайтесь на канал, ставьте лайки 👍 😉