Когда мы создаем новый проект на Python , то мы вначале создаем виртуальное окружение.
И когда нам нужны внешние проекты , такие как Django, request и другие библиотеки , то устанавливаем их с помощью pip. В итоге мы формируем файл c зависимостями requirements.txt
Но в последних проектах я для управления зависимостями начал использовать Poetry.
В этой статье мы напишем и запустим первую программу на Go
Для начала вы должны устанавить компилятор Go на свой компьютер
Далее создадим директорию helloworld и перейдем в эту директорию.
Django-guardian. Добавляем управление разрешениями на уровне объектов
Читать далее
Django предоставляет из коробки систему аутентификации и авторизации(permission) пользователей. Эта система позволяет проверять учетные данные пользователей и определять права доступа для пользователей. Ввод логина и пароля - это аутентификация пользователей , а права доступа на редактирование записей , создание новых и удаление - это уже авторизация. Поэтому,с помощью permissions мы указываем какие действия могут выполнять пользователи на сайте , а к каким запрещен доступ.
В предыдущей статье мы рассмотрели замечательную библиотеку requests для выполнения HTTP запросов.
Но у данной библиотеки есть один недостаток. Он не поддерживает асинхронные HTTP-запросы.
В этой статье мы рассмотрим новую замечательную библиотеку на Python , который позволяет реализовывать синхронные и асинхронные HTTP-запросы и благодаря этим возможностям он завоевал большую популярность в Python сообществе
При разработке веб-приложений большинство программистов часто избегают тестирования. Я основном говорю о начинающих программистах. Да и многие , кто уже довольно долго в этой профессии и которые разрабатывают коммерческие приложения довольно часто избегают тестирования , а многие незнакомы с ней.
В этой статье мы будем рассматривать тестирования для веб-приложений , которые создаются с использованием фреймворка Django.
Изучая FastAPI я познакомился с замечательной библиотекой Pydantic. В документации FastAPI отмечается, что "FastAPI стоит на плечах гигантов Starlette(асинхронный веб-фреймворк , который занимается работой с web) и Pydantic(который служит для валидации данных).
В статье "Введение FastAPI" я на реальном примере описал использование Pydantic в связке с SQLAlchemy. А в данной статье мне хочется разобраться с самой библиотекой Pydantic, который используется во многих проектах по всему миру
Если вы создаете новый проект на Django , то я рекомендую использовать пользовательскую модель User, которая расширяется от подкласса AbstractBaseUser вместо встроенной django.contrib.auth.models.User.
Вы конечно , можете этого не делать и использовать другие стратегии , такие как использование прокси-модели , использование связи один-к-одному с пользовательской моделью и создание пользовательской модели с помощью расширения AbstractUser, но по моему личному мнению расширения от подкласса AbstractBaseUser является самым гибким способом, хоть и вначале требует определенных усилий для его реализации.
Если вы разрабатываете свои проекты на Django , то вы легко можете разработать API с помощью замечательной библиотеки Django REST framework . Но давайте посмотрим какие другие фреймворки на Python позволяют разрабатывать API. Иногда бывает полезно рассматривать альтернативы и другие технологии , которые специально заточены для данных задач. И при том эти фреймоворки учитывают плюсы и минусы разных технологий.
Одним из таких современных фреймворков , который разрабатывался для построения API является фреймворк FastAPI
Многие начинающие разработчики на Django при работе с Django ORM сталкиваются с проблемой известной как "N+1 запрос". Это неэффективное обращение к базе данных , когда для получения связанных данных для каждого объекта генерируется новый запрос. В предыдущем посте, мы рассмотрели как это проблема решается с помощью использования select_related. Но там мы рассматривали связь многое-к-одному.
А что если у нас связь много-к-многим? Как быть в такой ситуации ?
Читать далее
Django ORM - это прекрасный инструмент , который позволяет нам работать с базой данных и при этом не используя голые запросы. Из-за этого начинающие разработчики допускают ошибки.
Рассмотрим самый распрастраненный и классический случай.
Читать далее
Знания как устроен словарь и знание основных методов работы с ним поможет нам писать более понятный и высококачественный код. В этой статье мы покажем как создавать словарь, как добавлять новые элементы , как перебрать словарь , как объединить словари и много других методов. Также мы рассмотрим какие изменения со словарем произошли при развитии Python в версиях Python3.6 и Python3.9
Читать далееВ этой статье мы разберем , что такое GIL. Для чего его реализовали в Python и какие проблемы он решает и какие проблемы он создает и почему его не убирают из Python. Нужно отметить тот факт, что GIL используется наиболее распространенной реализации интепретатора Python , а именно в CPython.
Docker - это ПО для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации и бла-бла-бла. Короче , все заумно и ничего неясно. Какая еще контейнеризация и автоматизация управления.
И еще все эти контейнеры , images , volumes и все такое. Короче запутаться можно и погрязнуть в этой теории.
Поэтому мы в данной статье будем на практике исползовать docker и по ходу будем в ней разбираться.
Читать далее
В этой статье воспользуемся замечательной библиотекой vk_api,
которая позволяет очень легко взаимодействовать с сайтом Вконтакте. И напишем простой скрипт с ее использованием , который выводит список песен , которые есть в ваших аудиозаписях
Подпишитесь на наш список рассылки, чтобы получать обновления из блога