Обработка и отслеживание ошибок и исключений в Django

Поделиться
HTML-код
  • Опубликовано: 2 дек 2024

Комментарии • 109

  • @79fz270704
    @79fz270704 4 года назад +14

    Алексей, отличный темп и качество материала, благодарю!

  • @wcodes-kk2pr
    @wcodes-kk2pr 4 года назад +8

    Лайкосик ставлю сразу, еще до просмотра.

  • @misterX389
    @misterX389 4 года назад +2

    Алексей, спасибо. Не первый раз помог в учёбе. Ты крут.

  • @victortamanov
    @victortamanov 4 года назад +1

    Алексей, спасибо большое за материал! Очень полезный!!!

    • @t0digital
      @t0digital  4 года назад +1

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

  • @udacha163
    @udacha163 4 года назад +1

    Алексей, спасибо за такой контент! очень хорошо разъясняете... к сожалению недавно только увидел ваш канал и подписался) очень не хватало такого пару лет назад

  • @ChannelYoJo
    @ChannelYoJo 4 года назад +3

    Классные ролики!
    Хочу видео про тесты :)

  • @MrVolodichev
    @MrVolodichev 4 года назад +1

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

    • @t0digital
      @t0digital  4 года назад +1

      Спасибо🙏

  • @LanCel73
    @LanCel73 4 года назад

    Всё здорово! Смотреть и полезно, и приятно.

  • @лилпипка
    @лилпипка 4 года назад +3

    Воу полегче, последнее видео было 22 часа назад, это уже даже не каждый день

  • @dalerkhalilov9440
    @dalerkhalilov9440 4 года назад +1

    Всегда бы с такими темпами ;)
    Большое спасибо!

    • @t0digital
      @t0digital  4 года назад +1

      Темп просмотров не радует:) похоже, формат видео каждый день не заходит

  • @dmitryleiko2869
    @dmitryleiko2869 4 года назад +1

    Отличное видео, спасибо)

  • @sashabagdasarov9649
    @sashabagdasarov9649 4 года назад

    Открываю и сразу лайк

  • @rinatgumirov
    @rinatgumirov 4 года назад

    Отлично ждём логирования

    • @t0digital
      @t0digital  4 года назад

      Уже на бусти:)

  • @АнтонинаСмет
    @АнтонинаСмет 4 года назад +1

    Благодарю, отличное видео

  • @evgeniy_blinov
    @evgeniy_blinov 4 года назад +1

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

  • @MadMike93
    @MadMike93 4 года назад

    Вот это плотность подачи нового контента)) я не успеваю пиво открыть, как выходит новый видос))

    • @t0digital
      @t0digital  4 года назад +1

      На бусти уже третий финальный видос лежит по этой теме:)

    • @MadMike93
      @MadMike93 4 года назад

      @@t0digital несколько дней вынашивал идею подписаться на бусти))) и вот решился сейчас на второй тир))) погнал смотреть про логгирование))

    • @t0digital
      @t0digital  4 года назад

      @@MadMike93 йеее 🤘

  • @astoscope
    @astoscope 4 года назад

    Спасибо. Расскажи подробнее про декораторы, пожалуйста

  • @wandos777
    @wandos777 2 года назад

    Супер!

  • @123-m5p4v
    @123-m5p4v 4 года назад

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

  • @limonred5283
    @limonred5283 4 года назад +1

    Подустал благодарить за крутой контент) Давайте от обратного, если я ничего не написал значит видео топовый топчик))

    • @t0digital
      @t0digital  4 года назад +1

      Нене, надо писать:)! Спасибо🙏

  • @bandirom
    @bandirom 4 года назад

    это было интересно) Спасибо)

  • @sultanbekbeksultanov4214
    @sultanbekbeksultanov4214 4 года назад

    Видео , супер 🔥🔥🔥. Пожалуйста , можете рассказать про реальный деплой проектов Django на веб-сервер и написание сигналов , Rest API. Что лучше GraphQL или Rest API? С меня лайк и комменты. Контент шикарный 👌

  • @MykhailoHumen
    @MykhailoHumen 4 года назад

    Мега полезно!

  • @kalik54
    @kalik54 4 года назад

    Спасибо)
    Теперь жду видео по логам 🙃

    • @t0digital
      @t0digital  4 года назад

      Оно уже на бусти:)

  • @klalyananik
    @klalyananik 4 года назад

    Спасибо за полезное видео! Подписался на Boosty, и вам советую.

    • @t0digital
      @t0digital  4 года назад +1

      Павел, рад, что полезно! Спасибо!

  • @ВадимКозячий
    @ВадимКозячий 4 года назад +2

    можно серию видео про Django REST framework?

    • @t0digital
      @t0digital  4 года назад +2

      не уверен, что будет серия, но какой-то материал будет, думаю

  • @СергейГоцин
    @СергейГоцин Год назад

    Добрый день. Вы говорили, что хорошая практика оборачивать операции с БД в транзакции, в частности вы это делали в обработке исключений. Но эта практика хороша, только когда вьюха обрабатывает несколько записей бд. Верно? Когда например, идет обработка одной запись, например создать пользователя, то оборачивать в транзакцию смысла нет. Я прав? или все же и при обработке одной операции БД ее тоже стоит оборачивать в транзакцию.

  • @alexeyzhurov7747
    @alexeyzhurov7747 4 года назад

    Не всё понятно, но захотелось начать откладывать деньги на ваш курс)

    • @t0digital
      @t0digital  4 года назад

      На практике всё расставится по полочкам:)

  • @wcodes-kk2pr
    @wcodes-kk2pr 4 года назад

    Почему лайк можно только один поставить, блин?!

  • @urlspy
    @urlspy Год назад

    Добрый вечер, не проще обработать ошибки в мидлваре?)

  • @showrun4747
    @showrun4747 Год назад

    интересно. попробовал сегодня python3.9 на попытку прописать from core.views import base_view пишет ModuleNotFoundError: No module named 'core', погуглил с полчаса, но с моим уровнем знаний пока непонятно :(

  • @Дартик3
    @Дартик3 4 года назад

    Когда будет что то про С++?
    Было бы интересно послушать)

    • @t0digital
      @t0digital  4 года назад +2

      Я не писал много на сях, поэтотму в моём исполнении в ближайшее время - нет

  • @Bandera_tut
    @Bandera_tut 4 года назад

    если же это делаеться для себя (логирование ошибок и отправка например нам на почту чтобы мы видели где/как/почему), то что думаешь о таком проекте как Sentry, замена вот этому вот всему?

  • @DES2048
    @DES2048 4 года назад +1

    А почему используется наследование от BaseView, вместо того чтобы сделать отдельный миксин? Ведь тогда я не смогу отнаследоваться от какого-нибудь generic view например.

    • @ИванИваныч-н3у
      @ИванИваныч-н3у 4 года назад

      Так вроде можно и от двух классов наследоваться там где нужно

    • @DES2048
      @DES2048 4 года назад +1

      @@ИванИваныч-н3у можно, но такая объявлениие MyView(ExceptionHandlerMixin, DetailView) куда информативнее, чем MyView(BaseView, DetailView),

    • @mamashin
      @mamashin 4 года назад

      @@DES2048 а можно пример кода эксепшена на Mixin, в чем там принципиальные отличия ?

  • @kosatchev
    @kosatchev 4 года назад +17

    Кто-то сливает на этот канал все видеоуроки от будущего курса!

    • @t0digital
      @t0digital  4 года назад +3

      подогреваю, подогреваю интерес:)

    • @Kirill-rg8vj
      @Kirill-rg8vj 4 года назад

      @@t0digital такими темпами, через неделю нечего уже будет рассказывать

    • @t0digital
      @t0digital  4 года назад +8

      Курс огромный. Пайтон там это только часть. Одного пайтона мало:) мне есть мнооого что рассказать и в рамках курса, и в рамках ютуба

    • @senatortre7326
      @senatortre7326 4 года назад +5

      Диджитализируй! С таким подогревом нарушу твои заповеди и возьму кредитку для курса 😆

    • @alexelizard1798
      @alexelizard1798 4 года назад

      @@t0digital Очень сильно ждем онлайн курс на Дальнем востоке

  • @Павел-э9э4л
    @Павел-э9э4л Год назад

    А как же EXCEPTION_HANDLER для drf?

  • @mikhailragulin5182
    @mikhailragulin5182 3 года назад

    [Django] В BaseView ошибка, в блоке кода except ... e.message работать не будет, нужно заменить на str(e)

  • @АртёмЕфимов-о6н
    @АртёмЕфимов-о6н 4 года назад

    Алексей, привет.
    А примерная стоимость курса ясна?
    Мск. Офлайн=

    • @t0digital
      @t0digital  4 года назад

      Пока непонятен формат курса. Я планирую провести опрос или опрос и стрим, чтобы пообщаться с людьми и понять желаемый формат, уже исходя из этого будет и стоимость. Офлайн в Мск это 100% самый эффективный вариант был бы. Но скорее всего с канала туда полтора человека наберутся всего, да и стоимость будет самая высокая - аренда места проведения, плюс огромные временные затраты, пока не уверен, что смогу набрать достаточное количество участников. Есть школы, которые набирают, но там огромные бюджеты на рекламу, опять же пока не уверен, что это оправдано. В общем пообщаемся со всеми желающими, поймём.

    • @АртёмЕфимов-о6н
      @АртёмЕфимов-о6н 4 года назад

      @@t0digital Спасибо)

  • @RockstarAlexander
    @RockstarAlexander 4 года назад

    👍👍👍👍

  • @dmitriybradul7719
    @dmitriybradul7719 4 года назад

    Спасибо за видео. А почему 400 ошибка возвращается?

    • @t0digital
      @t0digital  4 года назад

      400 bad request, что-то не так с запросом. Надо включить в джанге в настройках Debug = True и смотреть, из-за чего

    • @dmitriybradul7719
      @dmitriybradul7719 4 года назад

      @@t0digital Я имею ввиду почему в примерах вы возвращаете по дефолту такую ошибку, а не 500?

  • @andreychernykh256
    @andreychernykh256 4 года назад

    Когда будет курс?

  • @sergeychernov5022
    @sergeychernov5022 4 года назад

    Алексей, спасибо за материалы что освящаешь интересно и не принужденно.
    Но по данной теме что озвучил в видео возник вопрос.
    Если можно отлавливать ошибки в базовом классе, зачем тогда плодить в нижних слоях.
    Да я не исключаю ситуативные какие то ошибки которые нужно отловить в каком то методе
    Но если у меня к пример не сколько вьюшек с пост запросами можно же написать один обработчик на проверку пост запроса в базовом классе а не в каждом отдельности?

    • @t0digital
      @t0digital  4 года назад

      В базовом классе отлавливаем то, что не отловилось и не обработалось в слоях ниже

    • @ЮрийКлименко-к3щ
      @ЮрийКлименко-к3щ 2 года назад

      Потому что обработка всех ошибок от общего класса Exception затратна по ресурсам, поэтому необходимо ловить ошибки на как можно более низком уровне, а страховать все с помощью Exception на самом верхнем уровне, который будет ловить непредусмотренные ошибки. Причем после их поимки их необходимо также обработать где-то на более низком уровне.

  • @ЮрийКлименко-к3щ
    @ЮрийКлименко-к3щ 2 года назад

    В моменте, где речь идет BaseView, если _response это статический метод, то почему на него идет ссылка через self? Опять-таки, если метод статический, зачем делать его с нижним подчеркиванием.

  • @vitalik100500q
    @vitalik100500q 4 года назад

    Можно один класс сделать который наследуется от вью и потом использовать его и с другими дженерик вью(лист, дитеил и тд) или для каждого нужно делать? Я знаю что они все наследуется от вью, но вот хз может в каком-то с этих классов переопределены какие-то методы, а эта вьюха все поломает?

    • @t0digital
      @t0digital  4 года назад

      Протестируйте, заодно разберетесь:) И на boosty видос про обработку ошибок через middleware, тоже хороший способ

  • @НиколайКоперник-ъ4ш
    @НиколайКоперник-ъ4ш 4 года назад +2

    Видео стали настолько часто выходить, что я не успеваю смотреть

    • @t0digital
      @t0digital  4 года назад

      Пока тестирую такой формат. Если статистика канала вместо роста будет проседать - вернусь к прежней периодичности.

  • @keyh0le
    @keyh0le 4 года назад

    traceback кидать в ответ сервера - такое себе. LOGGING в settings.py надо настроить корректно, чтобы то, что нужно, кидалось в консоль, а другое - слалось на почту. (sentry пока оставим в стороне)

    • @t0digital
      @t0digital  4 года назад

      Про логи есть видео ruclips.net/video/nAK-Tpc3NMI/видео.html
      Traceback можно кидать в тч и в консоль, удобно смотреть при разработке. На продаке понятно, что в логи.

    • @keyh0le
      @keyh0le 4 года назад

      @@t0digital Если про dev речь, тогда пили 4 видео про django debug toolbar, вещь незаменимая)

    • @t0digital
      @t0digital  4 года назад

      Мне вообще не зашёл этот плагин. Если не SPA приложение, то может и полезно, но мы такие не пишем:)

  • @dmitriyobidin6049
    @dmitriyobidin6049 4 года назад +1

    Такое ощущение, что после монтажа вместо добавления в план курса, видео ошибочно заливают на ютуб, уже не первый раз :)
    p.s. Сколько курс стоить будет? И где он будет? На юдеми?

    • @t0digital
      @t0digital  4 года назад

      Я хочу посоветоваться со всеми о формате и стоимости курса. Сделаю стрим и там обсудим.

    • @ata.ibragimoff
      @ata.ibragimoff 4 года назад

      @@t0digital А какую сумму за курс тебе бы самому хотелось получить?

    • @t0digital
      @t0digital  4 года назад

      Большую. Зависит от формата курса.

    • @ata.ibragimoff
      @ata.ibragimoff 4 года назад

      @@t0digital Уже страшно 😹

  • @vitalii7672
    @vitalii7672 4 года назад

    что это за Endel на фоне играет?))

    • @t0digital
      @t0digital  4 года назад

      Не нравится:)?

    • @vitalii7672
      @vitalii7672 4 года назад

      @@t0digital нравится конечно. Я сам на генеративную музыку/звуки подсел)

  • @MMEEEish
    @MMEEEish 4 года назад

    Сейчас бы каждое view оборачивать в декоратор

    • @t0digital
      @t0digital  4 года назад

      Про способ с middleware через пару часов будет видео на boosty, кстати, заливается сейчас:)

  • @sashabagdasarov9649
    @sashabagdasarov9649 4 года назад

    Текст редактора покрупнее пожалуйста, многие смотрят на телефоне

  • @bogdanvolodko1119
    @bogdanvolodko1119 4 года назад

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

    • @t0digital
      @t0digital  4 года назад

      Провожу эксперимент, если статистика канала будет падать - вернусь в привычный ритм выхода видео

    • @bogdanvolodko1119
      @bogdanvolodko1119 4 года назад

      Диджитализируй! Все уже давно написали ботов, чтобы не портить статистику на случай смерти

  • @alekseyalexey4457
    @alekseyalexey4457 4 года назад

    красавчик, на каждом кодревью бомбит про названия функций, а сам def ret это же всем сразу понятно, что является сокращением от return, return чего? что? куда? зачем?

    • @t0digital
      @t0digital  4 года назад +1

      Эта функция используется во всех FBV вьюшках и поэтому сокращение может быть оправдано просто потому, что так писать короче. $ в jquery тоже как бы не сильно говорящий, но такое название оправдано. При этом вы всегда можете назвать функцию get_accurate_formatted_django_json_response:)

  • @Johniooooo
    @Johniooooo 4 года назад

    мда, товарищ, нейминг конечно оставляет желать лучшего - ret, res, inner)

    • @t0digital
      @t0digital  4 года назад

      ret используется во всех FBV, так что сокращение может быть оправдано так же, как оправдано сокращение $ в jquery. inner - вы бы предпочли wrapper? Это бы кардинально все изменило, добавило смыслов?

  • @some_user1337
    @some_user1337 4 года назад

    Ну че как оно... не спать?

    • @t0digital
      @t0digital  4 года назад

      Не спать плохо, спать отлично!

  • @magomedmycaev7080
    @magomedmycaev7080 4 года назад

    Кто изучает JavaScript?

    • @t0digital
      @t0digital  4 года назад

      Думаю, всем полезно поизучать JavaScript:)

    • @magomedmycaev7080
      @magomedmycaev7080 4 года назад

      @@t0digital Как вы думаете, не зная язык JavaScript, но имея необходимые книги по JavaScript, можно создать простенькую браузерную игру, например Тетрис ?

    • @t0digital
      @t0digital  4 года назад

      Конечно

  • @andrewslee_channel
    @andrewslee_channel 4 года назад

    Кто-то взломал канал и сливает нам видео :D