Flask #20: Blueprint - что это такое, где и как использовать

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ส.ค. 2024
  • Инфо-сайт: proproprogs.ru
    Рассказывается о механизме Blueprint для создания независимых модулей в рамках одного WSGI-приложения на примере создания тестовой админ-панели.
    Рассматриваются классы и методы: Blueprint, register_blueprint, а также основы маршрутизации в пределах модуля.
    Файл проекта: github.com/sel...

ความคิดเห็น • 31

  • @andreyzakharchenko4295
    @andreyzakharchenko4295 4 ปีที่แล้ว +10

    Спасибо за подобный контент! Ваши уроки весьма информативны и доходчивы!

  • @rustamakhmullaev5697
    @rustamakhmullaev5697 4 ปีที่แล้ว +3

    спасибо за подробный урок!

  • @MrYuri63
    @MrYuri63 4 ปีที่แล้ว +3

    Качественные уроки. Спасибо.

  • @user-ee1lx1pe7n
    @user-ee1lx1pe7n 2 ปีที่แล้ว +2

    Просто фантастический урок!!!

  • @ivanstereotekkofficial5353
    @ivanstereotekkofficial5353 2 ปีที่แล้ว +1

    Вы очень круто преподаете! Спасибо большое вам)

  • @burtmacklin3605
    @burtmacklin3605 3 ปีที่แล้ว +1

    Твои уроки бесподомны, спасибо)

  • @user-lx5we7rq6y
    @user-lx5we7rq6y 2 ปีที่แล้ว +1

    Большое спасибо за видео, все сразу стало понятно!))

  • @artemkhmil
    @artemkhmil 3 ปีที่แล้ว +1

    Спасибо! Вновь отличный урок!

  • @samaukin1983
    @samaukin1983 3 ปีที่แล้ว +8

    Сергей, спасибо Вам за уроки, очень полезно. а будете ли затрагивать темы REST API? Сложная тема и так мало русскоязычной информации в подобном изложении как у Вас.

    • @user-mm5ln4qh5q
      @user-mm5ln4qh5q ปีที่แล้ว

      По REST API есть много видео и статей для новичков на русском языке.

    • @samaukin1983
      @samaukin1983 ปีที่แล้ว

      @@user-mm5ln4qh5q сейчас уже да, год назад ничего толкового не смог найти

  • @limirikys
    @limirikys 3 ปีที่แล้ว +3

    Здравствуйте, позволю заметить что в этом уроке Вы говорите о ссылке
    Где .static с точкой, однако визуально указываете не на текущий файл в текущей директории, а в директорию выше, что по определению значит static без точки вначале.
    Где я заблуждаюсь?

    • @selfedu_rus
      @selfedu_rus  3 ปีที่แล้ว

      Здесь текущий рабочий каталог для шаблонов - каталог admin и уже относительно него определяем пути в url_for

  • @vladimirsemenov942
    @vladimirsemenov942 2 ปีที่แล้ว +4

    Спасибо за видео, очень полезные уроки! Сразу родился вопрос: как можно реализовать контроль доступа к страницам созданным с использованием Blueprint? Например, в главном приложении у нас реализован механизм, декоратор наподобие login_required, в котором проверяется текущий пользователь со списком тех кому разрешен доступ к странице. Импортировать в blueprint из основного приложение мы его не можем, так как получим зацикливание импорта. Создавать такой-же для каждого blueprint не целесообразно. Как корректно разрешить такую задачу?

    • @vladimirsemenov942
      @vladimirsemenov942 2 ปีที่แล้ว

      Это можно реализовать если вынести модуль проверки в отдельный blueprint, например.

  • @qwerty2609
    @qwerty2609 ปีที่แล้ว +1

    Не подключались стили помог данный код category_bp = Blueprint('category', __name__, template_folder='templates', static_folder='static',static_url_path='/static/category')

  • @codingoleg
    @codingoleg ปีที่แล้ว +1

    У меня происходил некорректный редирект на admin/.index и admin/.logout (оба через точку). Поменял в переменной menu 'url': './' и 'url': './logout' - заработало.

  • @yan200go
    @yan200go 2 ปีที่แล้ว +1

    Урок классный, но функция ifLogged - ***код. Не проще вызвать return bool(...)

  • @donfedor007
    @donfedor007 3 ปีที่แล้ว

    Доброе время суток! А как обычно определяют. Кто может войти в админ панель а кто нет. Просто делать отдельную таблиц с пользователем одим с админскими правами. или эти права прописываются в основной теблице пользователей?

  • @timon7996
    @timon7996 4 ปีที่แล้ว

    Получается в session можно хранить два и более зарегистрированных пользователя от одного физического пользователя одновременно - юзера и админа?

    • @selfedu_rus
      @selfedu_rus  4 ปีที่แล้ว +1

      Сессия связана с конкретным пользователем: для каждого своя

    • @timon7996
      @timon7996 4 ปีที่แล้ว

      @@selfedu_rus вот смотрите: я авторизовался как юзер, потом зашел в админку и авторизовался как админ. При этом из юзера я же не вылетел? Т.е. получается в сессии хранится два состояния авторизации как True одновременно - как юзера и как админа. Правильно я понял?

    • @selfedu_rus
      @selfedu_rus  4 ปีที่แล้ว

      @@timon7996 Это так происходит, т.к. вы заходите из одного и того же браузера. Разные пользователи будут использовать разные браузеры и у них будут свои сессии. А так да, если одна среда, то и записей в ней может быть несколько.

    • @selfedu_rus
      @selfedu_rus  4 ปีที่แล้ว

      Если такое действие недопустимо, то при авторизации нового юзера, прежние записи из сессии следует удалять.

    • @timon7996
      @timon7996 4 ปีที่แล้ว

      @@selfedu_rus понял, спасибо) наверное по логике это допустимо, для логов, чтобы узнать кто заходил под админом и что-то там изменил

  • @sexscream
    @sexscream 3 ปีที่แล้ว

    А почему иерархия выглядит так ./admin/templates/admin? Почему бы не ограничиться ./admin/templates?

    • @selfedu_rus
      @selfedu_rus  3 ปีที่แล้ว

      При запуске проекта все шаблоны помещаются в одну папку и если в admin имена будут совпадать с другими шаблонами, то они перезатрутся.

    • @sexscream
      @sexscream 3 ปีที่แล้ว

      @@selfedu_rus понятно, спасибо. А способа избежать этого нет? Как то не очень элегантно получается

  • @MasterSergius
    @MasterSergius 3 ปีที่แล้ว

    Что за мода такая стала в русском и украинском языках говорить "проЄкт"? Вроде как новые правила, но лично мне режет уши

    • @kromakiyforso2850
      @kromakiyforso2850 3 ปีที่แล้ว +18

      Что за мода такая стала под обучающими роликами смердеть своим никому не нужным мнением насчет произношения автором слов? Лично мне мозолит глаза.