Если вы создаете новый проект на 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,которая используется повсеместно. Как вы догадались по заголовку статьи - это словари(dict).
Знания как устроен словарь и знание основных методов работы с ним поможет нам писать более понятный и высококачественный код. В этой статье мы покажем как создавать словарь, как добавлять новые элементы , как перебрать словарь , как объединить словари и много других методов. Также мы рассмотрим какие изменения со словарем произошли при развитии Python в версиях Python3.6 и Python3.9
В этой статье воспользуемся замечательной библиотекой vk_api,
которая позволяет очень легко взаимодействовать с сайтом Вконтакте. И напишем простой скрипт с ее использованием , который выводит список песен , которые есть в ваших аудиозаписях
Amazon Web Services (AWS)- это облачная платформа, разработанная и поддерживаемая компанией Amazon c 2006 года.
Эта платформа предоставляет огромное количествео сервисов , которые вы можете использовать для решения самых различных задач.
В данной статье мы рассмотрим библиотеку Boto3 , которая предоставляет SDK для работы с AWS с использованием языка программирования Python.
В процессе разработки программ мы часто игнорируем логирование. И для отладки программ мы используем вывод средствами print. И это большая ошибка , так как логирование играет большую роль при разработке надежных программных систем. Так как устранение ошибок производится не только на этапе разработки , но и на этапе продакшена могут возникать неполадки , которые требуют оперативного реагирования и решения. При правильном введении логировани мы можем упростить обнаружение неполадок и оперативное их устранение
Читать далееЗачем нам нужно документировать API ?
Что за такие страшные слова Swagger и OpenApi ?
Каквя между ними разница?
Как легко подключить Swagger документацию вашим эндпоинтам , реализванные на DRF?
Все в этой статье
Отправить html сообщение по почте средствами django очень просто
Читать далееИтератор в Python - это объект , класс которого имеет специальный метод __next__ и метод __iter__ , который возвращает итерируемый объект (в данном случае return self).
Иногда при парсинге страниц нужно получить данные , которые недоступны незарегистрированным пользователям.
Для этого нужно авторизоваться на сайте. И в этой статье я покажу как с помощью замечательной библиотеки requests это реализовать.
В качестве примера попробуем залогиниться на сайте hh.ru.
Как-то мне для моего блога понадобилось подключить текстовый редактор.Выбор пал на CKEditor. Тем более для этого редактора существует замечательный плагин Django-ckeditor
Читать далееКак-то мне понадобилось срочно добавить пост в инстаграмм , а смартфон был в ремонте. Я пользовался веб-версией сайта Инстаграмм, но там не было функциональности , которая позволяла бы загрузить пост.
Читать далееНедавно мне понадобилось экспортировать данные в excel файл.На python это делается очень легко. Поэтому мы чуть усложним пример. Будем скачивать изображения и вставим их Excel файл.
Для создания Excel файла мы будем использовать import xlsxwriter
Читать далееGraphQL - это стандарт объявления структуры данных и способов получения данных, которую Facebook разработал в качестве альтернативы Rest API. В этой статье , мы покажем как с помощью замечательной библиотеки graphene-django легко использовать данную технологию на наших сайтах
Читать далееНапишем простой паук для обхода данных и сохранением их в MongoDB Для этого мы будем использовать замечательный швейцарский нож как его любят величать в интернете
Читать далееSQLAlchemy — это программная библиотека на языке Python для работы с реляционными СУБД с применением технологии ORM. В данной статье мы рассмотрим , что такое SQLAlchemy , опишем с помощью нее таблицы и реализуем запросы извлечения и записи данных.
Читать далееКак-то мне понадобилось реализовать меню на сайте, где пункты меню брались из базы данных. На сайтах, которые я ранее писал на php это реализовывалось довольной легко, а вот на django я сразу не мог это реализовать. Самый топорный , это конечно же передавать пункты меню в шаблон в каждой вьюхе )) Но погуглив , я понял, что это реализуется довольно легко с помощью пользовательских шаблонных тегов.
Читать далееВ своем проекте я использую замечательную библиотеку для регистрации пользователей django-registration. Так вот мне понадобилось , после регистрации пользователя добавлять его в одну из групп.
Читать далееПодпишитесь на наш список рассылки, чтобы получать обновления из блога