Django Middleware - что это, зачем и как использовать

Поділитися
Вставка
  • Опубліковано 22 лис 2024

КОМЕНТАРІ • 125

  • @xander-on-the-earth
    @xander-on-the-earth 4 роки тому +20

    Как всегда классно!
    Маленький советик для начинающих питонщиков (ежели таковые вдруг заглянут сюда): стирать запятые после последнего элемента списка не требуется (у самого была эта привычка, привнесённая из других языков программирования). Как по мне, так лучше всегда ставить запятую после последнего элемента и уже никогда не беспокоиться ни о добавлении ещё одного элемента, ни о закомментировании отдельных строчек.

    • @pashadjoystick
      @pashadjoystick 2 роки тому +2

      пайтону оно не мешает а у тех кто на разных языках программирования- это будет вызывать Эксепшен в голове :) в ПХП тоже можно ; не ставить в конце строки но я ставлю чтобы переключаясь с С-шарп у меня волосы дыбом не становились

  • @nurislamaskaruly6393
    @nurislamaskaruly6393 4 роки тому +55

    Запили видео про тестирование в Django. ждём...

    • @amigo4884
      @amigo4884 3 роки тому +4

      Алексей, если ты видишь это сообщение, то:
      1. Улыбнись, прямо сейчас это прикольный момент. Я думаю, что ты увидишь это через года два.
      2. Сделай видео по pytest-django.

  • @tsarevnalagushka
    @tsarevnalagushka 4 роки тому +5

    Супер! Как человеку, не использующему django, но использующему rack, очень интересно посмотреть. И увидеть, что, оказывается, всё то же самое

  • @theprogrammersway4228
    @theprogrammersway4228 4 роки тому +6

    Совсем недавно наткнулся на этот канал, мне очень понравилось, что в каждом видео очень доходчиво объясняется тема и даже разбираются некоторые нюансы. За такие видео, если бы можно было, ставил бы несколько лайков!

  • @MadMike93
    @MadMike93 4 роки тому +14

    Так вот что такое middleware)) долго не мог понять что это и зачем))

  • @СергейДанилов-п6щ
    @СергейДанилов-п6щ 4 роки тому +5

    Спасибо за видео! Наверное, лучший канал в плане донесения подобной информации доступным языком)

    • @t0digital
      @t0digital  4 роки тому +3

      Спасибо! Стараемся:)

  • @Dobrodei08
    @Dobrodei08 4 роки тому

    Только вчера в анкете писал что хочу с Django Middlewar разобраться и вот оно уже тут) Большое спасибо) Лойс не глядя!

    • @t0digital
      @t0digital  4 роки тому

      Рад, что полезно:)!

  • @foxik_cs5845
    @foxik_cs5845 2 роки тому

    боже,как же круто объясняешь,спасибо огромное! Однозначно жирнейший лайк

  • @anatolyiredko9817
    @anatolyiredko9817 Рік тому

    Человечище!

  • @senatortre7326
    @senatortre7326 4 роки тому +9

    С днюхой! 🥳

    • @t0digital
      @t0digital  4 роки тому +2

      О, спасибо😜!

  • @N1F90
    @N1F90 4 роки тому +2

    у этого канала должно быть больше подписчиков!!))

    • @t0digital
      @t0digital  4 роки тому +2

      Растём органически:)! Спасибооо!

  • @omurbekdulatov7844
    @omurbekdulatov7844 4 роки тому

    С каждым просмотром, узнаю новые вещи, круто!

    • @t0digital
      @t0digital  4 роки тому

      Отлично, рад, что полезно!

  • @oZopHuk
    @oZopHuk 4 роки тому +2

    Поставил паузу, что бы написать комментарий. "Это быстро, и доступно"

  • @daniilpopkov4176
    @daniilpopkov4176 4 роки тому +1

    Огромнейшее спасибо!

  • @artyom_ss
    @artyom_ss 4 роки тому +21

    Надо было упомянуть, что Middleware - это паттерн Chain of responsibilities)

    • @vdarasun
      @vdarasun 4 роки тому

      Не, с луком же проще, чем с неведомыми паттернами GoF. ))

    • @СергейШиманский-ж4н
      @СергейШиманский-ж4н 4 роки тому +3

      Это просто класс декоратор. Цепочка обязанностей несколько более специфичный случай.

  • @architect_13
    @architect_13 Рік тому

    Лайк за материал! Как-то я был с знаком с одним интересным товарищем, так он тоже всю дорогу писал в виме. Странное хобби

  • @denissavast
    @denissavast 2 роки тому

    Благодарю за отличный материал !

    • @t0digital
      @t0digital  2 роки тому

      Рад, что полезно!

  • @tihon4979
    @tihon4979 3 роки тому

    Круто! Мощно! Очень полезно. Благодарю.

  • @vladdeiy572
    @vladdeiy572 4 роки тому

    Cспециально зашел под видео ноутом, на android tv нет комментов в app yotube... Пойду про курс посмотрю 🐱‍👤🐱‍🏍 Очень нужный контент 🐱‍💻

  • @КонстантинКомиссаров-ж1э

    Считаю, что для обработки неотловленных ошибок такой способ правильнее и логичнее, чем использование общего класса для вьюх.

    • @t0digital
      @t0digital  4 роки тому +1

      Да

    • @cybron69
      @cybron69 4 роки тому

      Если вам достаточно получать не отловленные ошибки на email, то для этого нужно всего лишь указать в конфиге настройки smtp сервера и email администратора.

  • @79fz270704
    @79fz270704 4 роки тому

    Благодарю, полезная инфа про отлов exception

  • @limonred5283
    @limonred5283 4 роки тому

    Напряжненько) Надо высыпаться перед просмотром)

  • @owsla4507
    @owsla4507 4 роки тому

    ОГРОМНОЕ СПАСИБО ЗА НАИКРУТЕЙШИЙ ВИДОС

    • @t0digital
      @t0digital  4 роки тому +1

      Рад, что полезно!

  • @bfdhtfyjhjj
    @bfdhtfyjhjj 4 роки тому +4

    Спасибо! Слышали ли вы о Graphql? Стоит ли ждать видео по этой технологии в связке с Django?

    • @t0digital
      @t0digital  4 роки тому +1

      Да, слышал, возможно будет материал, да

  • @alexanderpastuhanov174
    @alexanderpastuhanov174 4 роки тому

    Все по полочкам разложили! Спасибо большое!

  • @beard_cat_sweater
    @beard_cat_sweater 4 роки тому

    В памяти свеж еще один пример применения middleware из реального проекта: django.middleware.locale.LocaleMiddleware позволяет работать функции django.utils.translation.get_language(), которая использовалась для кастомного перевода ответа по graphql.
    Экспериментировал в своё время - убирал этот middleware из списка, после чего весь перевод отказывался работать.

  • @ДмитрийСергеев-л6г

    Класс!!! Спасибо!

  • @dailyvideo1593
    @dailyvideo1593 2 роки тому

    По кайфу, всегда думал что это за слои такие то))

  • @elsinormerkaba2128
    @elsinormerkaba2128 4 роки тому

    Спасибо! Наконец-то человеческое объяснение, что такое и зачем нужен middleware! Каждый раз ловлю себя на мысли при чтении доки по джанго, что ее срочно надо перевести с мудацкого с русский (или вменяемый английский)

    • @t0digital
      @t0digital  4 роки тому

      есть такое:) Спасибо!

  • @messenja2547
    @messenja2547 4 роки тому

    Не въезжал в эти мидлы в ларавел, теперь понял) Великодушно благодарствую

    • @oZopHuk
      @oZopHuk 4 роки тому

      Сложна.

    • @oZopHuk
      @oZopHuk 4 роки тому +1

      Скорее курс. Хочу раскурить всё это

  • @ebaluga11
    @ebaluga11 4 роки тому

    Большое спасибо за видео! Всё ясно и чётко.

  • @wcodes-kk2pr
    @wcodes-kk2pr 4 роки тому +3

    Да чтож так годно то, а?!

  • @vitalik100500q
    @vitalik100500q 4 роки тому

    Супер, всегда эта тему смутно понимал, а ты все по полочкам разложил

  • @vb3039
    @vb3039 3 роки тому

    Спасибо уже реализовал :)

  • @andyanderson222
    @andyanderson222 3 роки тому

    Классное объяснение! Всё очень наглядно, спасибо!

  • @AbrorkhonN.
    @AbrorkhonN. 4 роки тому +1

    Поставил лайк, но посмотрю видос завтра)

  • @kamil24940
    @kamil24940 Рік тому

    Мне кажется для транзакций лучше явно определить собственный класс исключения (не под тем видосом написал)

  • @MADAHAKO
    @MADAHAKO 3 роки тому

    Жаль, что не вы писали документацию по Джанго, я бы тогда его ещё больше любил )

  • @antonmullakhmetov707
    @antonmullakhmetov707 4 роки тому

    Ваш канал для меня находка, я читал всю доку джанги, но вот совсем не помню ничего про middleware. Не думаю, что нашел бы эту информацию сам снова:D (нужно внимательнее читать доки)

    • @t0digital
      @t0digital  4 роки тому

      Отлично, рад, что полезно!

  • @MykhailoHumen
    @MykhailoHumen 4 роки тому

    Топовый контент подвезли! Спасибо))

  • @АнтонинаСмет
    @АнтонинаСмет 4 роки тому

    Полезная информация, спасибо за ваш труд

  • @PavelKorkhov
    @PavelKorkhov 2 роки тому

    Здравствуйте, а можно ли Middleware, увидеть имя view при исключении? спасибо.

  • @alexandrprisekin6907
    @alexandrprisekin6907 4 роки тому

    Спасибо, очень толково!

  • @АндрейАзаров-ь3б
    @АндрейАзаров-ь3б 4 роки тому

    Спасибо, очень доходчиво и просто! Продолжай в том же духе)

  • @vladimirww5152
    @vladimirww5152 3 роки тому

    Класс!

  • @99phenomenon
    @99phenomenon Рік тому

    Спасибо! LOCKED

  • @Tenundor
    @Tenundor 3 роки тому

    Спасибо! Видео, однозначно, было полезно.

  • @slavchina_reviews
    @slavchina_reviews 4 роки тому

    Как всегда актуалочка)

  • @FoodMaks
    @FoodMaks 4 роки тому

    Спасибо😁. Очень круто объяснил🤟

  • @antonmullakhmetov707
    @antonmullakhmetov707 4 роки тому

    Спасибо!

  • @gustaugutter9477
    @gustaugutter9477 4 роки тому +1

    Спасибо за видео, как всегда, очень познавательно)
    Остался вопрос - как так получается, что в методе __call__ отрабатывает второй принт, если метод process_exception возвращает HttpResponse?

  • @dmitryponyatov2158
    @dmitryponyatov2158 3 роки тому

    а есть в Django вменяемая возможность раздолбать RDBMS-слой, засунув туда собственный интерфейс с NoSQL (neo4j) СУБД которая Django из коробки не поддерживается?

  • @ThePirateHistory
    @ThePirateHistory 4 роки тому +3

    как в моделс, пре сейв и пост сэйв

  • @kalik54
    @kalik54 4 роки тому

    А вы работали с AWS? Если да то хотел бы увидеть ролик по Nginx + AWS (s3 bucket). Было бы полезно посмотреть

    • @t0digital
      @t0digital  4 роки тому

      А зачем своим nginx раздавать файлы с S3?

    • @kalik54
      @kalik54 4 роки тому

      @@t0digital Ну к примеру мне нужно медиа файлы на продакшне аплоадить в бакет, и их как то брать и показывать на сайте. Как я понял надо указать
      location /media:
      и там вместо /home/www/project/media/ указать my-bucket.s3.aws.....
      Или я что то неправильно понимаю?

    • @t0digital
      @t0digital  4 роки тому

      @@kalik54 к S3 бакету можно прикрутить свой домен и забирать сразу оттуда файлы, минуя свой nginx. То есть веб сервер будет на стороне S3, они это умеют.

    • @kalik54
      @kalik54 4 роки тому

      @@t0digital А что в таком случае прописывать в location /media?

    • @t0digital
      @t0digital  4 роки тому +1

      @@kalik54 в таком случае вам не нужна папка /media в вашем домене:) напр, ваш домен - site.ru, и раньше медиа файлы хранились в site.ru/media/. Теперь вы вынесли файлы в S3, сделали домен media.site.ru, привязали его к бакету S3 и храните файлы в этом бакете. Была ссылка на файл site.ru/media/123.jpg, стала media.site.ru/123.jpg.

  • @ВВВППП-в6г
    @ВВВППП-в6г 4 роки тому

    Приветствую! вижу что вы на маке, я сам мечусь, не знаю что выбрать для программирования и жизни вне разработки. Сейчас использую win10 но посматриваю на Mac OS и Ubuntu. Замечаю, многие программисты переходят на mac os но не понятно зачем?

    • @t0digital
      @t0digital  4 роки тому

      Привет! Я не буду вам советовать или не советовать мак, пусть это будет вашим решением :) у меня прошка 2015 года 15 дюймов - долгая работа от аккумулятора, хороший металлический корпус, хорошая клавиатура, железо и софт хорошо оптимизированы друг под друга, Mac OS это сертифицированный Unix, поэтому имеем с одной стороны полноценный мощный *nix терминал, с другой стороны имеем красивый и удобный GUI для работы с офисными приложениями и тд, под мак есть родной Microsoft офис, есть родной фотошоп и другие нужные мне лично программы. Под линукс их нет, их линукс аналоги отстой, запускать под линукс виндоус софт придётся через виртуализацию, что возможно, но не самое приятное занятие. Винда сейчас по отзывам неплоха и вроде там WSL позволяет работать в линуксовой консоли из-под винды, но я не могу ничего сказать об этом, почти 10 лет не сидел на винде, возможно и на винде сейчас все в шоколаде. Майкрософтовские ноуты неплохи по отзывам. Dell xps неплохая линейка под винду и линукс. Старые thinkpad из недорогих хороши под винду и линукс. Для линукс мощного можно посмотреть в сторону ноутов system76. Apple скоро обещает выпустить ноуты со своими arm процессорами, я бы подождал этого времени и новых маков сейчас не брал. На родных arm будут мощнее, возможно энергоэффективнее и возможно по слухам даже дешевле, что, зная Apple, конечно, не факт.

    • @semensemenov9519
      @semensemenov9519 3 роки тому

      хайп и понты. Писал писал и ютуб обрезал все написанное до трех слов, лол

  • @kannykl7575
    @kannykl7575 4 роки тому +2

    """ Коммент для продвижения видео на ютубе """
    Спасибо за видео!

  • @rskeldi
    @rskeldi 3 роки тому

    хорооооооош

  • @pashadjoystick
    @pashadjoystick 2 роки тому

    не плохо

  • @Тех.Аккаунт-я1ш
    @Тех.Аккаунт-я1ш 4 роки тому

    Сделай видео про тесты пожалуйста

    • @t0digital
      @t0digital  4 роки тому

      Есть такой материал в планах

  • @user-13520sdf
    @user-13520sdf 4 роки тому +1

    А в чем конкретная большая разница использовать какой-нибудь декоратор @handle_exceptions и Middleware. По сути то же самое делают.

    • @t0digital
      @t0digital  4 роки тому +1

      Декоратор можно забыть использовать, а Middleware железно отработает для всех view. Middleware это лучшее место для той логики, которая должна быть во всем проекте для всех view

    • @user-13520sdf
      @user-13520sdf 4 роки тому

      Диджитализируй! Я понимаю, почитал, хотел найти разницу в накладных ресурсах , но так понимаю, что это то же самое почти

  • @Anonim-im6ln
    @Anonim-im6ln 2 роки тому

    👍👍👍👍👍

  • @ФилиппНикуленко
    @ФилиппНикуленко 4 роки тому

    Классный видос, а что там по анкетам курса? Норм количество?

    • @t0digital
      @t0digital  4 роки тому

      Анкеты анализирую, по результатам будет информация на канале

    • @ФилиппНикуленко
      @ФилиппНикуленко 4 роки тому

      Спасибки)

  • @BersGriffith
    @BersGriffith 2 роки тому

    у меня это с декоратором ассоциируется. Там принцип такой же.

    • @BersGriffith
      @BersGriffith 2 роки тому

      если несколько декораторов применить к одной функции

  • @oZopHuk
    @oZopHuk 4 роки тому

    Где инфа про курсы?)))

    • @t0digital
      @t0digital  4 роки тому +1

      Люди досылают ещё анкеты, я их анализирую. Курсы будут. Информация сообщу в ближайшие дни.

  • @arstanernisbekov1194
    @arstanernisbekov1194 4 роки тому

    👍👍👍👍

  • @dvornikxilosof799
    @dvornikxilosof799 4 роки тому

    Привет, можно где-то найти твои конфиги zsh и т.д.? Если конечно это не секрет))) А за видео огромное спасибо, очень полезно!

    • @t0digital
      @t0digital  4 роки тому +1

      О, сделаю видео по zsh:)

    • @dvornikxilosof799
      @dvornikxilosof799 4 роки тому

      @@t0digital Спасибо огромное!!!

  • @Alex-ip9bn
    @Alex-ip9bn 4 роки тому

    Чувак , что там с курсом ? От этого зависит , останусь я в мск сейчас или нет!)

    • @t0digital
      @t0digital  4 роки тому +1

      88% людей за онлайн, поэтому курс будет онлайн, во всяком случае первый поток

    • @Alex-ip9bn
      @Alex-ip9bn 4 роки тому

      @@t0digital все понятно , значи еду обратно в свой мухосранск ))

    • @АртёмЕфимов-о6н
      @АртёмЕфимов-о6н 4 роки тому

      Приуныл)))

    • @N1F90
      @N1F90 4 роки тому

      @@t0digital ДАААА!!!!! ОНЛАЙН!!)))))

  • @galymzhanmakhaliev5392
    @galymzhanmakhaliev5392 3 роки тому

    братан ты случайно не хаскер?)

  • @mvxmvl
    @mvxmvl 4 роки тому +1

    Не услышал самого главного - зачем и как. Неужели мидлы нужны, чтобы тупо ловить исключения? Можно было интереснее тему развить :(

    • @t0digital
      @t0digital  4 роки тому +1

      Зачем - чтобы вставлять логику до view или после view, об этом говорилось в видео. Как - показано в видео. Сорян:)

    • @mvxmvl
      @mvxmvl 4 роки тому +2

      Диджитализируй! Согласись, что эта фраза равносильна «джанго нужен для построения сайтов». Если бы ты пробежался по ряду тем, мол, исключения, пятое, десятое и делается вот так, то была бы пища для размышлений

    • @t0digital
      @t0digital  4 роки тому +3

      Спасибо за фидбек, возможно сделаю второе видео по джанговым Middleware с живыми примерами

  • @realfootball338
    @realfootball338 3 роки тому

    В ноде от этого начали убегать

  • @Andreeoo
    @Andreeoo 4 роки тому

    луковичная парадигма программирования

  • @АлексейЯть
    @АлексейЯть 4 роки тому

    Спасибо!