Бекенд на Django, Урок 2: Unit Tests

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 พ.ย. 2024

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

  • @РинатРафиков-з8у
    @РинатРафиков-з8у ปีที่แล้ว +7

    Ошибка: django.core.exceptions.ImproperlyConfigured: Requested setting DATABASES
    (выводит целое полотно из ошибок, в конце данная ошибка)
    Решение:
    import django
    import os
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "books.settings")
    django.setup()
    В файл где лежат тесты. За место "books" пишите название папки, где лежат settings
    Всем привет, доброго дня!

    • @sergeytomilin5134
      @sergeytomilin5134 4 หลายเดือนก่อน

      Спасибо! Полчаса убил на поиски. Надо ваш комментарий выше поднять.
      Ошибка возникла из-за Винды? Почему на MacOs всё сразу работает?

    • @SeniorPomidorDeveloper
      @SeniorPomidorDeveloper  4 หลายเดือนก่อน

      Закрепил коммент

    • @alexanderaltukhov7081
      @alexanderaltukhov7081 27 วันที่ผ่านมา

      Если вы используете django = "^5.1.2" и в тесте используете django.test - установите psycopg2 локально к python-у, который используется в системе. Почему-то эта библиотека не видит psycopg2 в виртуальном окружении...

  • @МихаилВедунов
    @МихаилВедунов 3 ปีที่แล้ว +7

    Как же замечательно, что наткнулся на ваш канал.

  • @cs_dequeue
    @cs_dequeue 2 ปีที่แล้ว +6

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

  • @atmega4887
    @atmega4887 2 ปีที่แล้ว +7

    Спасибо Вам! Отличное изложение материала. Действительно, для тех кто хочет двигаться своим трудом, а не ,,питон за полчаса три млн просмотров,,. Спасибо.

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

    Жалко, что у Вас нет больше роликов. У Вас отлично получается. Успехов!

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

    Все знаю. Но автор так увлекательно рассказывает - лучше любого фильма

  • @КанатАттокуров
    @КанатАттокуров 6 หลายเดือนก่อน

    Спасибо большое за урок, узнал много нового. Тесты отдельный респект, также вспосмнил про терминал и psql. Обязательно дойду до конца

    • @SeniorPomidorDeveloper
      @SeniorPomidorDeveloper  6 หลายเดือนก่อน

      Супер! Рад что понравилось. Там еще следующий курс есть про оптимизацию, сделан на основе докера

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

    Ну моё почтение за такие уроки) Не перестану это писать, очень интересно, познавательно и не скучно! Спасибо тебе большое, надеемся не остановишься на этом)

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

      Спасибо за отзыв! Да, есть ещё в планах записать кое-что.

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

      @@SeniorPomidorDeveloper ну тогда с нетерпением ждем!) Лично от себя, очень интересная такая тематика, как ревью кода, людям это заходит, ибо это невероятно познавательно и бесценно)

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

    Сеньор, у тебя топовая подача материала! Спасибо тебе большое)) Возвращайся, очень ждем продолжения по джанго(как пример можно было бы раскрыть темы переопределения разных методов при сериализации, кастомизация фильтров, сигналы, миддлваре)

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

    Очень доходчиво и подробно все рассказано и показано на практике. Лично для меня очень актуально, я как раз начал разбираться с тестированием на своём проекте)
    Спасибо огромное за ваш труд!!!

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

    Ошибка появилось при проверке через shell все работает. При запуска юнит теста. Спасибо за уроки )))

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

    Как раз хотел изучить тестирование в Джанго и Celery. А на этом канале есть и то, и другое.
    Да-да, 2 года прогал без тестирования, закидайте меня гнилыми ПОМИДОРАМИ.
    P.S. Комментарий больше для продвижения канала. Спасибо огромное за знания. Всё очень доступно и круто!

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

      Спасибо вам что смотрели и комментировали! И удачи в работе и творчестве !

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

    Какой хороший формат видео. Спасибо Вам большое!

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

    Лучшее, что я смотрел по тестам, спасибо.

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

    Чтоб мне так раньше объясняли. Подписался)

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

    Спасибо. Понял зачем нужны тесты.

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

    Спасибо за видео! Ждем еще с нетерпением, отличные уроки)

  • @КонстантинИбрагимов-т3в
    @КонстантинИбрагимов-т3в 4 ปีที่แล้ว +2

    Спасибо коллега за хорошие видео!

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

    Нужно было вспомнить про то как проверить coverage. По памяти сразу к тебе.

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

    Великолепно. Спасибо!

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

    В Git очень полезно и необходимо уметь работать ))). Будем учиться)))

  • @sergeysemkin6570
    @sergeysemkin6570 8 หลายเดือนก่อน

    Чел, просто АХ*ЕННО! В который раз натыкаюсь на твои ролики и как индусы всё по полочкам только на русском))

    • @SeniorPomidorDeveloper
      @SeniorPomidorDeveloper  8 หลายเดือนก่อน +1

      🤣 люблю индусов! Если привыкнуть к их произношению то вообще отлично!

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

    после каждого запуска теста test_serializers, в таблице store_books добавляются новые записи Test Book 1 и Test Book 2

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

      BookSerializerTestCase наследуемый от TestCase , создает запись в основной бд и не удаляет её после завершения теста. Если наследоваться от APITestCase, то тогда все ок работает

  • @Vitaliy-ct2wv
    @Vitaliy-ct2wv 4 ปีที่แล้ว +1

    спасибо, очень круто!

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

    Братан Варламова свернул в Джангу)

  • @13mufasa
    @13mufasa หลายเดือนก่อน

    Спасибо, бро

  • @PrettyStreet-xx9if
    @PrettyStreet-xx9if ปีที่แล้ว

    Нужно ли хранить html вывод от coverage в репозитории или добавлять в gitignore? С одной стороны, команда будет понимать насколько хорошо код покрыт тестами, с другой стороны репозитория засоряется лишними файлами

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

    как всегда - всё супер!
    как ты зарабатываешь? фрилансер ? или официально в какой компании? как много времени заняло у тебя дойти до такого уровня, интересно с такими скилами насколько хорошо можно зарабатывать из дома? п.с. работаю в госкомпании (инженер - программист в асутп), огромное желание уйти в разработку из дома =)

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

      Я думаю что со скилами из всех этих курсах , вполне можно найти работу как минимум Джуниор , а если ещё немного будет опыта то и до middle.
      Я работаю старшим программистом , в одной небольшой международной компании . Я достаточно быстро достиг среднего уровня, во многом из-за того что был опыт сис админа . С базовым знанием питона , по идее за пол года можно так прокачать веб , чтобы найти нормальную работу

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

    При создании теста для сериализатора импортировал TestCase не из dgango.test , а из unittest.
    Получился неожиданный результат)
    При каждом создании книг для теста, они сохраняются в БД. Т.е., как я понял не создается временная БД для теста, а тупо записывается в общую. Вернее, я уверен, что не создается, т.к. во время запуска теста, используя TestCase из django, там четко написано, что:
    Creating test database for alias 'default'...
    ..........
    Destroying test database for alias 'default'...

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

      По идее и там и там должна новая БД создаваться. Странно , не знаю почему так получается

  • @ВладимирЯкубовский-к4д
    @ВладимирЯкубовский-к4д 2 ปีที่แล้ว

    Спасибище, прямо спас!

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

    На примере этого урока видно полезности "Полой" версии Пайчарма, я такой "Так, почему него вылезло это окно..так и инит автоматом...а это что ? блин, тут ручками писать придется". Возможно, конечно, я просто что-то не настроил, но вроде больше похоже на "А он прав, стоит купить в дальнейшем"

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

      Да, пайчарм про - это топовая IDE. Они мне за рекламу не платят , к сожалению) но очень рекомендую. Работа с дебаггером через тесты это очень полезный инструмент. Нигде такого не видел больше.

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

    Кстати, господа, вы можете получить бесплатную лицензию, если студент или на курсах от Stepik (они бесплатные) по тому же python и работать с удобными фичами )

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

    Супер! Спасибо!

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

    я искал медь, а нашёл золото

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

    Спасибо.

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

    Привет! про assertEqual, как повлияют изменения в сериализаторе если в тесте используется тот же сериализатор? не очень понял как работает. Спасибо!

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

      Ну если в тесте тот же, то никак. Просто обычно тесты отдельно пишут для сериализатора , а в тестах вью его просто используют. Как именно я в видео сделал, честно говоря, уже не помню

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

      Спасибо за ответ!@@SeniorPomidorDeveloper

  • @jamjam3337
    @jamjam3337 9 หลายเดือนก่อน

    спасибо!😎💥👍

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

    Отличное объяснение, спасибо! У меня все получилось :) А почему вы не используете setUpTestData?

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

      Пардон, нашла ее в следующем видео :)

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

    Классный урок! Почему то у меня не работают тесты через правую кнопку мыши, ну это не так важно видимо, главное в консоли все ок

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

      Спасибо. Может это только в pycharm professional такая штука

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

    Спасибо за курс! Очень мало таких продвинутых курсов!
    Хотелось бы еще уточнить по тестированию API - у меня не совсем получается по твоему шаблону, т.к. у меня в модели включен 'ordering' - да и скорее всего у всех так. Но сериалайзер возвращает несортированные данные (возвращает в порядке как получает..). А response наш возвращает уже сортированные данные. Как это обойти? Посоветуй плиз.

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

      Это домашнее задание)

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

      @@SeniorPomidorDeveloper честно-говоря, думал целый день, и только утром додумался - просто добавляем вставляемые обьекты сначала в queryset = .objects.all(), а потом передаем его в сериалайзер! ура)

  • @ВиталийУлыбин-д4б
    @ВиталийУлыбин-д4б 2 ปีที่แล้ว

    А не работает: "django.urls.exceptions.NoReverseMatch: Reverse for 'book-list' not found. 'book-list' is not a valid view function or pattern name ". Возможно в Django 4, что-то поменялось. В лоб решения не нашел.

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

    На 21:55 почему у нас нет книг если они у нас как бы есть в базе? Это типа для тестов создается временная бд и в рамках этого класса там как бы отсутствуют данные пока мы их не пропишем, и там всегда будут только те данные которые мы сами пропишем именно в КЛАССЕ?

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

      Ну да. Каждый тест (то есть каждая функция тестового класса) создает чистую базу и все данные в ней только для этого теста.

  • @АлексейТишкин-д3з
    @АлексейТишкин-д3з 2 ปีที่แล้ว

    Не понимаю, тесты, пишет "relation does not exist"...

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

    Спасибо огромное, очень позновательно, как вы делаете быстрый импорт? Это какая то библиотека на пичарме?

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

      Это не библиотека . Просто пишу “Alt + Enter” и он делает импорт , а если вариантов с таким именем несколько то он спросит какой конкретно мне нужен. Это все PyCharm

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

      @@SeniorPomidorDeveloper понял, спасибо

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

    подскажите как законектиться в БД что бы прямо с консоли прописывать команду createuser -s -P superadmin

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

      Эти команды только в ОС работают , для этого не нужно коннектится к БД. Если их нет , то надо другими способами юзера создать. Можете зайти в группу телеграмм , может там кто-то подскажет подробнее . Ссылка в профиле

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

    Супер!!

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

    Ваше видео по тестам очень помогает!
    Но объясните, пожалуйста, Вы пишете команду psql --username=superadmin books_db чтобы привязать нового суперпользователя к базе, а затем старому владельцу базы book_user даете права создавать базы. Получается, теперь главный пользователь superadmin, а book_user только создает базы для тестов? Можно ли было наоборот суперадмину дать только права на создание баз? При этом, book_user все еще является пользователем в настройках проекта

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

      Честно говоря, я уже не помню почему конкретно так. Я думаю что все действия с базой проекта должен делать специальный юзер этой базы , типа book_user . А нафига этот superadmin нужен я уже не помню.
      В любом случае авторизовывать приложение под админом базы это не верно. В СУБД типа Postgres может быть много баз данных . Каждая связана с каким-то отдельным проектом и у каждой свой пользователь, которого мы пропишем в настройках проекта . Мы не можем админа прописать в настройках проекта - это типа не безопасно .

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

      На сколько я понял, через pgAdmin, у каждой бд должен быть владелец, им как раз и является book_user, в нашем случае. А superuser может раздавать права всем юзерам и заглядывать во все бд, на правах главного. Я лишь могу предположить, что под каждый проект создавать отдельного юзера под бд проекта - это лишь рекомендация, для удобства и безопасности. Но пока что я пользуюсь PgSQL пару дней и создал первый проект с ней, так что не могу уверенно заявить удобно это или нет.

  • @Thatchersimp
    @Thatchersimp 7 หลายเดือนก่อน

    Такая проблема, в какой-то момент в терминале, когда ввожу команду "manage.py test...", он не выводит ничего, ни ошибки, ничего вообще, просто переключается на следующую строку для ввода. Почему так? Только что все работало

    • @SeniorPomidorDeveloper
      @SeniorPomidorDeveloper  7 หลายเดือนก่อน

      Такой бывает когда комманда на завершена. К примеру если знак \ поставить в конце строки или типа того

    • @Thatchersimp
      @Thatchersimp 7 หลายเดือนก่อน

      @@SeniorPomidorDeveloper я перезапускал терминал, но всё так же

    • @SeniorPomidorDeveloper
      @SeniorPomidorDeveloper  7 หลายเดือนก่อน

      Вероятно что сама команда написана с ошибкой . Как вариант попробовать альтернативный терминал windows, или можно сделать скриншот и спросить в чате , ссылка в профиле

    • @Thatchersimp
      @Thatchersimp 7 หลายเดือนก่อน

      @@SeniorPomidorDeveloper м, я переключил на power shell и увидел что команда исполняется в консоли и сразу же исчезает

  • @matveyivanov1310
    @matveyivanov1310 4 หลายเดือนก่อน

    Имхо, такие тесты API эндпоинтов хороши только при простом функционале. Если бизнес логика сложная, или потенциально будет усложняться, то такие тесты будут уже скорее интеграционными, а не юнит. Даже в рамках API стоит писать такие тесты, как в примере с мат. операциями.
    Ну и pytest нынче на голову выше джанговских тест кейсов, один только parametrize слишком мощная штука

    • @SeniorPomidorDeveloper
      @SeniorPomidorDeveloper  4 หลายเดือนก่อน

      Parametrize вроде не pytest фича. По крайней мере мы его постоянно в unit test используем.

    • @SeniorPomidorDeveloper
      @SeniorPomidorDeveloper  4 หลายเดือนก่อน

      Бизнес логику вполне неплохо тоже тестировать как юниты. Хотя чаще мы тестируем конечно связку функций, чем каждую по отдельности. Можно писать в связке с api эндпойнтом , можно его отдельно и логику отдельно. Можно логику разбирать на части или тестировать целиком . По моему опыту это не важно. Главное чтобы тесты в принципе были и чтобы покрывали и проверяли что нужно. Как широко каждый из тестов писать решает сам разработчик, и мы даже не особо стараемся это контролировать. У нас в проекте сейчас 15.000 юнит тестов, и они постоянно растут, за всему не уследишь и это не нужно.

    • @matveyivanov1310
      @matveyivanov1310 4 หลายเดือนก่อน

      @@SeniorPomidorDeveloper В целом согласен, необходимость тестировать изолированно отдельные компоненты не для каждого проекта, это все ситуативно. Я, по возможности, предпочитаю изолированно тестировать функционал, т.к. проще тестировать граничные кейсы и классы эквивалентности, которые могут потеряться при тестировании какого-то флоу целиком.

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

    Привет! Ты не мог бы подсказать, как передать request в тесты?

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

      Привет! Заходи в группу в телеграмм, может там найдётся ответ. Ссылка в шапке профиля на TH-cam

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

    Привет , почему комманд нот фоунд на комманду , createuser -s -P superadmin ?

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

      Это нормально для Windows, надо загуглить как создать юзера через консоль sql. Вроде обсуждали это в группе в телеграмме, поищите там . Ссылка в профиле

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

      @@SeniorPomidorDeveloper спасибо , зайду в телегу посмотрю а то что-то с установкой постгре вчера 2 часа пытался все сделать и вроде сделал но пока что ничего не появляется в базе , хотя миграции делаются и настройки все на постгре стоят ,и да , это я на маке вызываю эту команду но что-то у меня мак капризный

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

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

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

    Дякую)

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

    спасибо.

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

    Спасибо очень интересный курс.
    Не могу понять, откуда берется book-list в reverse?
    Т.е. как django знает, что это именно book? Нигде же явно не определено это. 18:16

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

      Это в urls привязывается name для каждого урла

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

      Когда мы создавали роут для нашего вьюсета, он автоматически генерирует как урл, так и имя для него. Если хочешь наглядности, то пропиши print(router.url) для каждого зарегистрированного тобой роута.

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

      @@alexandr6307 спасибо, а то не мог найти в чем ошибка

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

    Подписался

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

    У меня почему-то не видит те библиотеки для импорта, что у Вас. Например, не показало импорт APITestCase из джангореста, хотя я его установил. Как это исправить?

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

      Как будто PyCharm не видит интерпретатора.. Это не так важно, можно руками прописать импорты, их там мало

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

      @@SeniorPomidorDeveloper Спасибо, что отвечаете. Теперь выяснилось, что при запуске тестов у меня создалось 10 тестовых книг с разными id, хотя их не должно быть. Вроде бы за вами все повторил. Понимаю, что это гадание на кофейной гуще, но может вы знаете, почему так? (на 3 уроке увидел)

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

      Нашел, где добавляется. При тесте сериализатора база почему-то не очищается

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

      @@MrCipecЧестно говоря, это было так давно, я уже не помню)

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

      @@SeniorPomidorDeveloper для Вас это было давно, а для нас все еще актуально и интересно!) Спасибо большое за труд и работу

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

    а почему вы решили не пользоваться юзером postgres, который по умолчанию есть, он же и суперюзер?

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

      Да как-то принято под проект создавать отдельного юзера . Наверно ещё с тех времён , когда на одной базе хостились по несколько проектов

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

      @@SeniorPomidorDeveloper понял, не знал о такой практике. спасибо

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

    Делал всё как в видео, но получил ошибку
    2022-12-05T12:26:06.786361282Z RuntimeError: Model class short_link_controller.models.ShortLinkService doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
    Пробовал импортировать прописывать в settings... Ниичего не помогает. 2 дня пытаюсь решить вопрос. Как импортировать то правильно?

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

      вроде не было ничего про ShortLinkService ?

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

      @@SeniorPomidorDeveloper оказалось, у меня не было установлено несколько библиотек...

  • @diasotaboev4188
    @diasotaboev4188 8 หลายเดือนก่อน

    Очень жаль что не показал начальную настройку PostgreSQL, у меня Linux и начать делать все как на видео проблематично чисто из-за БД(

    • @SeniorPomidorDeveloper
      @SeniorPomidorDeveloper  8 หลายเดือนก่อน +1

      Да я никак ее и не настраивал . Просто установил.

  • @МаратАғай
    @МаратАғай ปีที่แล้ว

    Выдает ошибку: : Имя "coverage" не распознано как имя командлета, функции, файла сценария
    или выполняемой программы. При том, что все установлено

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

      Сложно так сказать не видя вашего проекта. Может запускаете не из virtual env или он установлен , но не туда

    • @МаратАғай
      @МаратАғай ปีที่แล้ว

      в общем, решил.. почему-то он не видел coverage при установке через настройки, а после pip заработал

    • @МаратАғай
      @МаратАғай ปีที่แล้ว

      @@SeniorPomidorDeveloper после вашего первого курса пытался начать курс по оптимизации, но комп просто не вывозит

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

      Да, без докера там сложно будет.

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

    тест лучше писать в таком формате def test_func(a, b, c):
    if c == "+":
    return f"{a} {c} {b}"
    if c == "-":
    return f"{a} {c} {b}"
    if c == "*":
    return f"{a} {c} {b}"
    print(test_func(2, 5, "-")) тогда не забудете знаков

    • @sergeytomilin5134
      @sergeytomilin5134 4 หลายเดือนก่อน

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

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

    Got an error recreating the test database: database "test_db" is being accessed by other users
    DETAIL: There is 1 other session using the database.

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

      Видимо тесты запустили два одновременно

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

      @@SeniorPomidorDeveloper к сожалению - нет(
      так и не нашел способ решить эту проблему. решил пока делать без тестов.
      я и дб удалял, и принудительно сессии все завершал, после запуска теста создается новая бд и какая-нибудь ошибка будет про то, что есть уже другие сессии к ней. даже не знаю в чем дело..

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

      Можно зайти в Postgres и удалить там все базы данных, кроме основной . Иногда они там залипают , когда запуск тестов не завершается корректно

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

      @@SeniorPomidorDeveloper в любом случае спасибо!

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

    django.core.exceptions.ImproperlyConfigured: Requested setting DATABASES, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
    что это значит?

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

      Появляется при запуске unitesta с функцией operations как на 8 минуте

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

      Исправил, добавил в каталог с тестами - __init__.py и в него:
      import os
      os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'books.settings')
      import django
      django.setup()

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

      При запуске теста надо указывать путь до файла с настройками через “-settings”. Приложение не видит настроек в этот момент

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

      @@montecristo31 мне сначало не помогло, однако после "pip install pytest-django" в терминале - все начало работать

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

      @@montecristo31 Спасибо, у меня та же ошибка вылазила, решение не мог найти. Но что примечательно, если импортировать TestCase из unittest, а не из django.test, то все отлично работает.

  • @artemunix5223
    @artemunix5223 10 หลายเดือนก่อน

    а ты не делаешь так чтобы отдельно сервисы тестить отдельно репозитории?

    • @SeniorPomidorDeveloper
      @SeniorPomidorDeveloper  10 หลายเดือนก่อน

      Всмысле специально репозиторий для тестов ?

    • @artemunix5223
      @artemunix5223 10 หลายเดือนก่อน

      @@SeniorPomidorDeveloper ну на ларе бизнес логика в сервисах а выборки в репозитория и они тестяться

    • @SeniorPomidorDeveloper
      @SeniorPomidorDeveloper  10 หลายเดือนก่อน

      Не знаю, так вроде не делал.

    • @artemunix5223
      @artemunix5223 10 หลายเดือนก่อน

      @@SeniorPomidorDeveloper я там курс смотрел архитектор ПО так там говорят что надо так делать легче тестить сервисы репозитории разделить логику

    • @SeniorPomidorDeveloper
      @SeniorPomidorDeveloper  10 หลายเดือนก่อน

      @artemunix5223 да кому как удобно. То, что я рассказываю это стандартный способ. Большинство Джанго проектов тестируется так.

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

    Приветствую автора этого канала. У меня возникла ошибка raise ImproperlyConfigured(
    django.core.exceptions.ImproperlyConfigured: Requested setting DATABASES, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
    Вы могли бы помочь.

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

      admin admin да, есть такое . PyCharm Community Edition не поддерживает запуск Django и ее тестов . Покупайте Professional !

    • @mrm1tn1ck
      @mrm1tn1ck 2 ปีที่แล้ว +5

      импортируйте из unittest "from unittest import TestCase"

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

      В любом случае Django не будет активирован в тестах

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

      @@mrm1tn1ck спаибо сработало , убил 3 часа на это, пока не заглянул сюда.

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

      @@mrm1tn1ck Спасибо!

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

    Откуда ты брал информацию? есть ли хорошая книга по этой теме для новичков ?

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

      Брал из опыта. Книга по Unit тестам для новичков? Не думаю . Для новичков лучше курсы.

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

      @@SeniorPomidorDeveloper посоветуешь какие-то ?

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

      Советую мой последний курс - Оптимизация Джанго. Хороший такой курс получился, не могу не посоветовать 😁
      Если серьезно, я не особо интересуюсь курсами. Спроси в группе в телеграмме, ссылка в профиле , может там что подскажут .

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

      @@SeniorPomidorDeveloper спасибо, ну курс гляну уже после этого

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

    Добрый день. Будет ли фронт на Vue JS, в рамках этого курса?

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

      Не, фронт больше не будет. Я в нем не очень хорошо разбираюсь, если честно . Зато будет бек интересный !

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

      @@SeniorPomidorDeveloper Ну да, по тестам это первое адекватное видео на русском наверное)

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

      Спасибо!

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

      @@SeniorPomidorDeveloper А есть ли какие либо мессенджеры или группы? Для связи и возможно вопросов касаемо python и Django? В Ютубе не особо удобно, как по мне :)

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

      Согласен, но канал у меня пока не большой . Если будет подписчиков побольше то сделаем стрим с вопросами , может когда-нибудь и до группы дойдём , но не ближайшее время .

  • @АлексейТишкин-д3з
    @АлексейТишкин-д3з 2 ปีที่แล้ว +4

    Коллеги, у кого такая борода:
    ImportError: 'tests' module incorrectly imported from '..\project\app\tests'. Expected '..\project\app'. Is this module globally installed?
    Если, как в видео создали одноименный пакет, то удаляйте файл tests.py из папки приложения...)))

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

    Здравствуйте, не подскажете с чем связанно данное исключение: TypeError: argument of type 'ConnectionHandler' is not iterable. Появилось при самом первом тесте.

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

      Посмотрите внимательно в свой код, может что-то не так написано. Без полного Трейси невозможно понять откуда ошибка .

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

      всё, до меня дошло. всем кто читает это и такой же растяпа как я, знайте - если у вас такая проблема, возможно вы имея бесплатную версию pycharm, пытаетесь использовать графический интерфейс тестирования :D. в консоли всё работает как нужно.

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

      @@SeniorPomidorDeveloper вы были правы, всё из-за невнимательности)

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

      Аа, да , мне тоже всегда хочется в интерфейс нажать по привычке .

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

    createuser -s -P superadmin
    Enter password for new role:
    Enter it again:
    createuser: error: could not connect to database postgres: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
    что делать с этой ошибкой? И к какой базе ты подключился?

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

      Похоже что postgres или не установлен или не запущен или находится на каком-то необычном порту..
      Можно вот это попробовать stackoverflow.com/questions/42653690/psql-could-not-connect-to-server-no-such-file-or-directory-5432-error

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

      @@SeniorPomidorDeveloper был выключен,спасибо!

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

      @@SeniorPomidorDeveloper после этого у людей может быть FATAL ERROR, второй комментарий этой ссылки поможет stackoverflow.com/questions/16973018/createuser-could-not-connect-to-database-postgres-fatal-role-tom-does-not-e

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

      Хорошо

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

    Reverse for all-list (all - это у меня вместо book) not found. 'all-list' is not a valid view function or pattern name. Вот такое вылетает, есть ли какие-либо предположения, что это может быть?

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

      Надо открыть в браузере несуществующую страницу и Джанго должен написать какие урлы у него есть , если в дебаг режиме

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

      @@SeniorPomidorDeveloper в этом плане вроде находит юрл такой: api/v1/musicians/ ^all/$ [name='all-list'], или я что-то путаю?

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

      Не знаю)

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

      Сложно так сказать , не видя кода и прочее

    • @Biskey-Bo
      @Biskey-Bo ปีที่แล้ว

      Победил эту проблему? У меня то же самое, делаю все, как на видео, но метод reverse выдает ошибку.

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

    Здравствуйте, подскажите, пожалуйста, у меня при запуске теста возникают проблемы при импортировании класса TestCase с пакета django.test. (возбуждается такая ошибка - TypeError: argument of type 'ConnectionHandler' is not iterable). А когда импортирую с пакета unittest все тесты проходят. Сидел вчера всю ночь, но так чет и понял в чем дело.

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

      Здравствуйте! Честно говоря , первый раз вижу такое. Скорее всего проблема в версиях .. Возможно Джанго у вас 3+ , а в видно версия меньше

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

      @@SeniorPomidorDeveloper при чем знаете, поменял первую строчку на "from django.test import testcases" и на "class LogicTestCase(testcases.TestCase):". После этого запустил через терминал manage.py test store.tests.test_logic и.. вуаля, тест пройден. Видимо, я где то накосячил )

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

      Хм .. возможно. Там где-то код был .. github.com/chepe4pi/books_lessons/ если нужно сравнить

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

      @@SeniorPomidorDeveloper а еще вылезла ошибка TypeError: argument of type 'ConnectionHandler' is not iterable. Она возникает в случае, если я запускаю файл test_logic.py в PyCharm через контекстное меню командой Run.

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

      Понятно, значит что-то с настройками pycharm

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

    Лучше сразу говорить о "подводных камнях", а не оставлять их сюрпризом на потом. Дело в том, что, как, возможно, и многие, смотрю и сразу пытаюсь выполнять.
    Так над тем, почему не запускаются тесты в CE через правый клик провозился приличное время (и даже настроил, задав определенные опции в настройках интерпретатора), и только потом услушал из урока, что работать они и не должны в CE. При этом ранее оговаривалось, что для демонстрации будет использоваться именно CE версия IDE.
    Аналогично с грантом на createdb.
    Про reverse("book-list"): 1) появление -list выглядит "магическим" 2) если у меня есть уже url book-list, что тогда будет делать reverse - отдаст предпочтение первому встретившемуся в urlpatterns?

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

      Первый вопрос снимается. Описано тут www.django-rest-framework.org/api-guide/routers/#simplerouter

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

      Курс бесплатный , не все выходит гладко.. по поводу reverse , если урл book-list то это не важно для reverse, ему нужен base-name для этого урла. Если будет дубликат то скорее всего будет ошибка на старте сервера , не проверял , можете проверить и сюда написать .

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

      @@SeniorPomidorDeveloper это не претензия, а пожелание. Все хорошо!
      По дубликатам в name для урлов проверил - сама Django не ругается, конфликт решается тем, что побеждает тот, кто ниже в urlpatterns.
      При дубликатах в самих url побеждает тот, кто выше.

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

    Подскажите пожалуйста тест не проходит assertEqual(serializer_data, response.data)
    serializer_data это питоновский словарь
    а response.data OrderedDict
    говорит что они не эквиваленты

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

      Он умеет их сравнивать, проблема не в типе, а в данных. Можете убедиться, сконвертировав в dict()

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

      @@SeniorPomidorDeveloper если создать 2 объекта модели, то исключение не возникает, потому что сериалайзер тоже возвращает OrderedDict и тест проходится.
      А если 1 объект, то сериалайзер возвращает питоновский словарь
      Я воспользовался советом
      Конвертировал OrderedDict в dict,
      Так тоже проходит

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

      Хорошо. Проверьте так:
      a = {'a': 1, 'b': 2}; b = OrderedDict(b=2, a=1); self.assertEqual(a, b)
      Пройдёт проверка?

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

      @@SeniorPomidorDeveloper да проходит
      Видимо проблема была в том, что OrderedDict находился внутри списка
      Спасибо, что отвечаете на вопросы!
      Есть ещё вопрос:
      Как на практике реализуется drf + vue.js или drf+ react.js
      У вас в уроках видел что вы просто к шаблону подключили скрипт с vue
      Так же видел другую реализацию с vue cli

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

      Сложно сказать, я совсем далёк от фронтенда. На практике обычно все шаблоны и js на фронтенде, вся логика и api на бекенде и эти две части совсем никак не связаны в коде. Работают как два приложения , клиентское и серверное. То , как сделано в курсе , это скорее чтобы продемонстрировать сам принцип api взаимодействия. Есть сервер nginx, которые который отдаёт статические данные , типа js и html, а все остальные запросы переадресует дальше , уже на Django сервер.

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

    Кто-нибудь может подсказать где доступно расписана установка PostgreSQL на Windows 10, чтобы можно было использовать команды в строке, как в видео? :(

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

      Тут не совсем про установку СУБд postgres, тут скорее про создание там базы и юзера , но саму программу нужно просто скачать и установить. А создать базу и пользователя можно вот как в этой статье www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-18-04-ru
      CREATE DATABASE myproject;
      CREATE USER myprojectuser WITH PASSWORD 'password';
      По сути только две эти команды , а ALTER можно уже делать как на моем видео

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

      @@SeniorPomidorDeveloper Наверное, не совсем правильно сформулировал вопрос. Саму базу я поставил, правда, со второго раза, при первой инсталляции прошла какая-то ошибка. К джанго я базу тоже подключил, правда не совсем так как в видео. Дошел в этом видео до момента создания пользователя и не могу его создать, у меня команды типа createuser, createdb не работают в строке. Вот это бы хотелось решить. В первом видео подключил базу со стандартным пользователем 'postgres'. Хотелось бы разобраться полностью, думаю пригодится в будущем. В командной строке и через терминал я не могу заюзать createuser, createdb

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

      Это команды которые я встречал только на Мак или Линукс , для винды нужно подключиться в саму консоль Postgres и написать типа тех команд, которые я написал в прошлом комментарии

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

      @@SeniorPomidorDeveloper ага, буду пробовать. Если не получится, буду пробовать через Ubuntu тогда ). Спасибо за ответы!

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

      @@SeniorPomidorDeveloper а еще можно же через админку создать? pgAdmin4?

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

    Found 1 test(s).
    Creating test database for alias 'default'...
    Got an error creating the test database: ОШИБКА: нет прав на создание базы данных
    Что не так?

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

      Напишите в общий чат , может кто поможет .. ссылка в профиле

    • @ДмитрийСергеев-л6г
      @ДмитрийСергеев-л6г 2 ปีที่แล้ว +2

      Может кому поможет: дайте пользователю, кторого указываете в настройках DATABASES (USER) права на создание БД: alter role books_user createdb; - если пользак books_user указан

    • @U7116-k7d
      @U7116-k7d ปีที่แล้ว +2

      @@ДмитрийСергеев-л6г Дякую.

    • @alexsidikov3426
      @alexsidikov3426 ปีที่แล้ว +6

      ALTER ROLE books_user WITH CREATEDB;
      Если у вас возникла такая же ошибка, прописывать это нужно в SQL Shell.
      П.с. Пишу этот комент для тех кто в будущем будет искать ответ ;)

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

      ​@@alexsidikov3426 эта проблема решается в самом видео, просто чуть позже необходимого. Таймкод: 12:47
      P.S. Тоже пишу больше для тех, кто в будущем ветку прочитает :)

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

    привет, в чем может быть проблема:
    по урока юнит тестов все было ок, но начал переписывать по текущему урову и тесты не проходят, меняю на старые, тоже не проходят, пишет что нет такого модуля как test_get
    скрин: prntscr.com/w5dlan

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

      чуть пытался изменить тест сериалиатора: prntscr.com/w5dycj тоже ошибка
      в чем я могу ошибаться? идти дальше с ошибками не очень хочется

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

      Ошибка по тому что нужна точка между классом теста и функцией . Точка, а не пробел

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

      Почему сериализоторы разные не видно так. Нужно просто print сделать и будет понятно

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

    👍

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

    Будете ли вы выпускать видео каждый день?

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

      Приблизительно через день, всего 10 выпусков будет.

  • @МишаМихаил-ф7х
    @МишаМихаил-ф7х 2 ปีที่แล้ว

    Не понял зачем тестить маршруты если они динамичны и никуда не денутся в любом случае. reverse() и так нам даст обратку на endpoint url

  • @Vitaliy-ct2wv
    @Vitaliy-ct2wv 4 ปีที่แล้ว

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

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

      я специально использую бесплатную версию пайчарма.

  • @Чуваш-ы3ц
    @Чуваш-ы3ц 3 ปีที่แล้ว

    ок

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

    Вы по моему устали

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

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

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

      Полностью согласен. Даже и начинать смотреть не стоило.

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

      Но ведь автор ссылается на свой предыдущий курс, когда говорит, что не будет объяснять. Зачем повторяться и растягивать и так длинную лекцию

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

      А мне нравятся такие приключения, когда автор опускает некоторые "очевидные" вещи. И ты такой!!! А что это?! А как!? А почему!!! ? А остановиться-то уже не можешь) И погнал по интернетам, да по документам искать) После того, как находишь ответ на свой вопрос, спустя 3 часа мозгового штурма в одну каску, испытываешь невероятное наслаждение и возвращаешься к видео Сеньора-Помидора, благодаря про себя его за этот опыт)
      Я помню, читал книжку такую "Сам себе программист" - Автор: Кори Альтхофф, так вот. Он в конце так и пишет, что дальше будет все состоять из постоянного поиска ответов и множества удивлений, в духе: "ТАК ВООООТТТ ЧТОО это ЗНАЧИТ!!))".
      А вообще, хочу сказать Сеньору @SeniorPomidorDeveloper ОГРОМНОЕ СПАСИБО за такое количество новой и полезной ин-фы для тех, кто пытается обучится этому сложному ремеслу... веб-программированию. Я до этого курса и не знал АБСОЛЮТНО ничего о БД, SQL, postgre... Так же с тестами.

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

    вызывается ошибка raise ImproperlyConfigured(
    django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
    при запуске тесто, в остальном работает нормально. ставил переменную окружения, не помогает. подскажи, в чем может быть проблема?

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

      Нужно указать при запуске теста правильный путь к конфигу Джанго через атрибут -settings

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

      @@SeniorPomidorDeveloper указывал, не помогает

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

      Спросите в группе в телеграмме, ссылка в профиле. Может кто подскажет. Можно со скриншотом

  • @rinatyagafarov5328
    @rinatyagafarov5328 10 หลายเดือนก่อน

    Подниму повыше, решение. А то капец времени потратил.
    При возникновении ошибки:
    django.core.exceptions.ImproperlyConfigured: Requested setting DATABASES, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
    добавляем в каталог с тестами в файл __init__.py :
    import os
    import django
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "books.settings")
    django.setup()

    • @SeniorPomidorDeveloper
      @SeniorPomidorDeveloper  10 หลายเดือนก่อน +1

      Эта ошибка обычно говорит что при запуске не найден/не указал файл settings для Джанго. То есть при запуске manage.py команды его просто достаточно указать через -settings= . Можно конечно и в сами тесты добавить такое, но тогда если запускать их, не из корня, а допустим отдельные тесты, то тоже работать не будет, придется в каждый __init__ каждой директории добавлять

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

    Подскажите почему такая ошибка
    (venv) user@root books % ./manage.py test .
    Found 5 test(s).
    Creating test database for alias 'default'...
    System check identified no issues (0 silenced).
    ....F
    ======================================================================
    FAIL: test_ok (store.tests.test_serializer.BookSerializerTestCase)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
    File "/Users/user/PycharmProjects/books_drf/books/store/tests/test_serializer.py", line 30, in test_ok
    self.assertEqual(expecting_data, data)
    AssertionError: [{'id': 3, 'name': 'Комикс Гримм 1', 'pric[132 chars]00'}] != [OrderedDict([('id', 3), ('name', 'Комикс [174 chars]0)])]
    ----------------------------------------------------------------------
    Ran 5 tests in 0.069s
    FAILED (failures=1)
    Destroying test database for alias 'default'...
    class BookSerializerTestCase(TestCase):
    def test_ok(self):
    book_1 = Book.objects.create(name='Комикс Гримм 1', price='176.50', sku='000005', count='20')
    book_2 = Book.objects.create(name='Чистый Python 1', price='2350.00', sku='000006', count='200')
    data = BookSerializer([book_1, book_2], many=True).data
    expecting_data = [
    {
    'id': book_1.id,
    'name': 'Комикс Гримм 1',
    'price': '176.50',
    'sku': '000005',
    'count': '20',
    },
    {
    'id': book_2.id,
    'name': 'Чистый Python 1',
    'price': '2350.00',
    'sku': '000006',
    'count': '200',
    }]
    self.assertEqual(expecting_data, data)
    я менял цену, добавлял decimal не помогло. Как понять в чем именно ошибка?

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

      Перед тем как сделать assertEqual нужно сделать print(expecting_data) и print(data), сравнить глазами и тогда будет понятно

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

      @@SeniorPomidorDeveloper Спасибо. count передавал строкой, а нужно интом) Спасибо за ваш контент)

  • @КанатАттокуров
    @КанатАттокуров 6 หลายเดือนก่อน

    raise ImproperlyConfigured(
    django.core.exceptions.ImproperlyConfigured: Requested setting REST_FRAMEWORK, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings. Выводит это после запуска теста апи, но тесты с терминала работают

  • @КанатАттокуров
    @КанатАттокуров 6 หลายเดือนก่อน

    raise ImproperlyConfigured(
    django.core.exceptions.ImproperlyConfigured: Requested setting REST_FRAMEWORK, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings. При запуске теста выходит такое. Но с терминала тесты работают

    • @SeniorPomidorDeveloper
      @SeniorPomidorDeveloper  6 หลายเดือนก่อน

      Запуск тестов из pycharm работает только в платной версии

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

    круто, полезно, спасибо большое!

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

    Привет! Ты не мог бы подсказать, как передать request в тесты?