FastAPI - Верстка с Jinja. Как визуализировать API #12

  Рет қаралды 18,435

Артём Шумейко

Артём Шумейко

Күн бұрын

💡 Попробуй онлайн-тренажёр для подготовки к техническому собеседованию: clck.ru/3B5gxT 💡
Предзапись на курс по поиску работы разработчику и техническим навыкам для Middle (FastAPI): forms.gle/Zw7bPnQvTsfekVH47
Забирай роадмап изучения самого востребованного фреймворка на Python - FastAPI здесь: t.me/ArtemShumeikoBot
Репозиторий на Github с кодом из видео: t.me/artemshumeiko/9
Мой телеграм-канал: t.me/artemshumeiko
Поддержать канал на Boosty: boosty.to/artemshumeiko
В этом видео мы узнаем, как с базовыми знаниями верстки можно сделать конфетку из нашего API для его представления более широкой аудитории: менеджерам и заказчикам. Познакомимся с Jinja, а также научимся создавать шаблоны и добавим статический контент.
0:00 - Вступление. Зачем бэкендеру знания фронтенда?
3:03 - Файловая структура
3:46 - Создание базового шаблона
5:47 - Синтаксис Jinja
6:35 - Создание роутера для страниц
10:06 - Подключение статического контента
10:43 - Расширяем базовый шаблон
14:51 - Как получить данные из API для отрисовки страницы
17:00 - Демонстрация HTML шаблона с данными из Python
18:24 - Как внедрить статический контент в HTML файл
19:59 - Спасибо вам
#fastapi #python #backend #django #flask #docker #sql #celery #разработка #программирование

Пікірлер: 46
@artemshumeiko
@artemshumeiko Жыл бұрын
💡 Попробуй онлайн-тренажёр для подготовки к техническому собеседованию: clck.ru/3B5gwP 💡 Забирай роадмап изучения самого востребованного фреймворка на Python - FastAPI здесь: t.me/ArtemShumeikoBot
@awdawdawdbfw
@awdawdawdbfw Жыл бұрын
Было бы классно ещё увидеть урок по версионированию эндпоинтов, по мидлварям и где они используются, по различным ограничениям/лимитам от спама например и по кастомной авторизации (не очень нравится что фастапи юзерс навязывает свои модели и схемы для юзера)
@romanpodkorytov
@romanpodkorytov Жыл бұрын
@@awdawdawdbfw у них есть шаблон проекта в документации, связка фастапи и вью2 на тс, там есть реализация кастомной авторизации, восстановления пароля
@awdawdawdbfw
@awdawdawdbfw Жыл бұрын
@@romanpodkorytov все же, одно дело читать код, другое дело слушать гайд с объяснениями
@romanpodkorytov
@romanpodkorytov Жыл бұрын
@@awdawdawdbfw да там все просто, скажем стартовый набор
@griigorievamaria
@griigorievamaria Жыл бұрын
Артём, ты так классно доносишь информацию, очень увлекательно тебя слушать😍 Спасибо за то, что создаешь эти уроки, продолжай дальше!!
@muhammadumarsotvoldiev9555
@muhammadumarsotvoldiev9555 10 ай бұрын
Спасибо за вашу работу!
@adammason482
@adammason482 Жыл бұрын
Спасибо за урок!
@mem4ik1999
@mem4ik1999 Жыл бұрын
Спасибо за видео!
@kalicyborg
@kalicyborg Жыл бұрын
Продолжай, очень интересно и доходчиво)
@artemshumeiko
@artemshumeiko Жыл бұрын
Спасибо!
@lastdayaugust
@lastdayaugust 11 ай бұрын
все как в том меме, бекендер делает фронт - получается сырая форма для работы с данными, фронтендер делает бекенд - итернал сервер еррор
@user-qs3vs2gb7z
@user-qs3vs2gb7z Жыл бұрын
Спасибо за курс! Было бы интересно послушать о механизме сессий, типа того, что используется в Django, коли уж о Jinja речь зашла.
@artemshumeiko
@artemshumeiko Жыл бұрын
Сессию можно также как в эндпоинте задать через Depends(get_current_user). Правда ее нужно немного изменить, чтобы вместо исключений при ошибке аутентификации/авторизации происходил редирект на страницу с логином
@user-yh3vm1pu3u
@user-yh3vm1pu3u Жыл бұрын
Лайк за бумажку :)
@mr.wayfarer6082
@mr.wayfarer6082 11 ай бұрын
Приложение работает уже год и всё меня мысль не покидала о том, как разнести апи с темплейт респонсами. Ощущение такое было, будто с немытыми руками яблоко ем ))))
@WounderVaflel
@WounderVaflel 8 ай бұрын
Мужчины, потратьте десяток часов на вёрстку, там делать нефиг, а флексить сможете красиво.
@user-mx9pu5fb6v
@user-mx9pu5fb6v Жыл бұрын
Спасибо за видео! Артём, а что у тебя за микрофон? Звук хороший, думаю себе взять на попробовать
@artemshumeiko
@artemshumeiko Жыл бұрын
Это FIFINE T669
@kirilltyupaev2447
@kirilltyupaev2447 8 ай бұрын
Хотелось бы рассмотреть вариант выполнения запроса после добавления Depends и {operation_type} когда поиск пустой, потому что в этой реализации получается 404. Если дублировать endpoint то как-то странно выглядит
@user-eb2nz5nx1g
@user-eb2nz5nx1g 5 ай бұрын
Я повесил пустой поиск на base.html, а результат поиска на search.html. В base шаблоне input обернул в тег form. При отправки формы получается гет-запрос типа /pages/search?operation_type=удержание с выводом результата
@sashass099
@sashass099 Жыл бұрын
Спасибо за видео, было интересно послушать и посмотреть! Вопрос: нужно расширение дополнительное для PyCharm, чтобы он подсказывал CSS классы? У меня Pycharm Pro 2022.3.1 и у меня ничего не подсказывает как на 5:38
@artemshumeiko
@artemshumeiko Жыл бұрын
Думаю, я ошибся. Pycharm подсказывал что-то похожее, но не стили из tailwind. Вообще, есть инструкция для включения подсказок: www.jetbrains.com/help/pycharm/tailwind-css.html, но у меня не получилось добиться подсказок в jinja-шаблонах, только в css файлах
@sashass099
@sashass099 Жыл бұрын
@@artemshumeiko да, нашел плагины, но что-то там не хочет работать всё равно. Есть платный плагин, но он платный.. Для vs code тоже есть расширение для tailwind, но тоже ничего не появляется :)
@romanpodkorytov
@romanpodkorytov Жыл бұрын
А как передать динамическое меню из бд в шаблон, чтобы не добавлять его в каждый эндпоинт?
@maxjokar7920
@maxjokar7920 Жыл бұрын
Privet Artem, spasibo za video,nu javaScript ne rabotaet ....4to nado ystanovit? osobenna na Pycharm . Potomyshto na vs toje ne rabotaet nu on aktivirovan...Spasibo 👍👍👍👍👍
@Kserks_no_Kseroks
@Kserks_no_Kseroks 7 ай бұрын
Подскажите, как организовать аутентификацию из вебформы? Как их передать в наш роутер из fastapi-users? На вашем сайте из предыдущего урока Вы уже авторизованы, но как это случилось я в уроках не нашел. Или подскажите где можно почитать. Заранее спасибо
@Kserks_no_Kseroks
@Kserks_no_Kseroks 7 ай бұрын
Извиняюсь, разобрался сам, почитав документацию "Отправка данных формы" у developer.mozilla)
@haise7308
@haise7308 4 ай бұрын
@@Kserks_no_Kseroks если не сложно, то можешь подсказать ка в итоге реализовал это?
@romanpodkorytov
@romanpodkorytov Жыл бұрын
Добрый день можно сделать деплой fastapi на докер compose?
@artemshumeiko
@artemshumeiko Жыл бұрын
Здравствуйте! Конечно сделаем, в конце курса
@anonym1548
@anonym1548 Жыл бұрын
Артём, извини, что не по теме видео, не нашел просто подходящего. Вопрос к тебе, как к специалисту, может у тебя есть такой опыт, возможно подскажешь что-то... Суть такая, хочу на Win10 запустить FastAPI приложение в режиме продакшена. Понимаю, что нужно будет пробросить на роутере порты и т.д., это сейчас не суть. Не понимаю, что будет выступать в качестве сервера? uvicorn, как я понял, это просто побаловаться, во время разработки, и он не для продакшена. Есть на винде IIS, я уже было обрадовался, что нашел то что нужно, но как оказалось, у него ограничение на 20 коннектов(( Хотелось бы найти какое-то легкое и простое решение, без контейнеров и прочего. Не знаю в какую сторону смотреть.
@andrewbondaryuk
@andrewbondaryuk Жыл бұрын
Продакт проекты на питоне и винда не очень совместимы, нежно говоря. Лучше изначально ориентироваться на линукс.
@vladvlad3544
@vladvlad3544 11 ай бұрын
@@andrewbondaryuk почему тогда не все вакансии требуют Линукс? А где обычно требуется, то только как "будет плюсом"?
@mr.wayfarer6082
@mr.wayfarer6082 11 ай бұрын
Старый мамкин ноут + убунту сервер = ??? PROFIT
@mihasrjd8637
@mihasrjd8637 6 ай бұрын
А можно сделать все тоже самое, но без джава скрипта? Может у fastapi есть фун-я, которая в url прокинет строку?
@jekam6565
@jekam6565 5 ай бұрын
Тем же url_for можно выполнить эту задачу, без JS
@Ctac7878
@Ctac7878 Жыл бұрын
Артём, а есть ли какая-то система по аналогии csrf_token из Django но в FastAPI ? Если вдруг негодяй захочет через форму поиска какую-то гадость послать в БД в виде запроса Спасибо!
@artemshumeiko
@artemshumeiko Жыл бұрын
нет, такое нужно руками делать либо сторонние либы использовать
@Ctac7878
@Ctac7878 Жыл бұрын
@@artemshumeiko Я читал статью на Хабре про FastAPI и в комментариях там рассказывали про различия с тем же Django Про Django говорят, что он идёт вместе с "батарейками" Вот было бы полезно многим через ваше видео(которое вы бы сделали) узнать про эти самые "батарейки". Какие именно нужно "купить" и в каком количестве. MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] Какие есть аналоги всего этого для FastPAI Заранее спасибо большое!
@fresh_wind87
@fresh_wind87 Жыл бұрын
блин ну можно пояснять а? Я не понимаю что значит смаунтить, срэндерить
@vladimirvladimirov7694
@vladimirvladimirov7694 6 ай бұрын
Добрый день! Нужно учить английский, в программировании без него никак. Когда станете middle software developer - уже сможете собеседоваться в зарубежные компании. А там и разговорный английский понадобится. Mount - смаунтить - примонтировать что-то к чему-то. Render - срендерить - это когда jinja2 проходит по шаблону (рендерит шаблон) и превращает его в response (ответ) и все перменные из шаблона становятся уже заполненными данными
@andrewbondaryuk
@andrewbondaryuk Жыл бұрын
Кто-то боится js? 😀😀😀
@fresh_wind87
@fresh_wind87 Жыл бұрын
это больно очень )
@andrewbondaryuk
@andrewbondaryuk Жыл бұрын
@@fresh_wind87 это вы раст не видели! 😀
FastAPI - Вебсокеты (онлайн чат) #13
35:14
Артём Шумейко
Рет қаралды 20 М.
когда повзрослела // EVA mash
00:40
EVA mash
Рет қаралды 4,5 МЛН
Мы никогда не были так напуганы!
00:15
Аришнев
Рет қаралды 6 МЛН
아이스크림으로 체감되는 요즘 물가
00:16
진영민yeongmin
Рет қаралды 55 МЛН
FastAPI with Jinja2 in UNDER 6 minutes
6:02
Eric Roby
Рет қаралды 16 М.
FastAPI ТОП Библиотек и Расширений [2024]
12:21
Артём Шумейко
Рет қаралды 15 М.
Docker за 20 минут
21:42
suchkov tech
Рет қаралды 67 М.
Вся суть работы с внешним API на Vue | Просто объясняю Vue 3
15:24
Lectoria. Обучение веб-разработке.
Рет қаралды 16 М.
когда повзрослела // EVA mash
00:40
EVA mash
Рет қаралды 4,5 МЛН