10 Июл 2022 Г.

Python словари. Введение и основные методы работы с ними

Cловари в Python - это неупорядоченный набор пар "ключ-значение"
Но начиная с версии Python3.7 словари являются упорядоченными и они будут выводиться в том же порядке в каком добавляли

Читать далее
20 Апр 2022 Г.

Poetry. Управление зависимостями для проектов на Python

Когда мы создаем новый проект на Python , то мы вначале создаем виртуальное окружение.
И когда нам нужны внешние проекты , такие как Django, request и другие библиотеки , то устанавливаем их с помощью pip. В итоге мы формируем файл c зависимостями requirements.txt
Но в последних проектах я для управления зависимостями начал использовать Poetry. 


 

Читать далее
28 Май 2021 Г.

Django-guardian. Добавляем управление разрешениями на уровне объектов

Django-guardian. Добавляем управление разрешениями на уровне объектов

 

 

Читать далее
28 Май 2021 Г.

Django permissions. Управление правами доступа

Django предоставляет из коробки систему аутентификации и авторизации(permission) пользователей. Эта система позволяет проверять учетные данные пользователей и определять права доступа для пользователей. Ввод логина и пароля - это аутентификация пользователей , а права доступа на редактирование записей , создание новых и удаление - это уже авторизация. Поэтому,с помощью permissions мы указываем какие действия могут выполнять пользователи на сайте , а к каким запрещен доступ.  
 

Читать далее
8 Май 2021 Г.

Python HTTPX . HTTP-клиент нового поколения для Python

В предыдущей статье мы рассмотрели замечательную библиотеку requests для выполнения HTTP запросов.
Но у данной библиотеки есть один недостаток. Он не поддерживает асинхронные HTTP-запросы. 
В этой статье мы рассмотрим новую замечательную библиотеку на Python , который позволяет реализовывать синхронные и асинхронные HTTP-запросы и благодаря этим возможностям он завоевал большую популярность в Python сообществе
 

Читать далее
5 Май 2021 Г.

Тестирование в Django

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

Читать далее
5 Апр 2021 Г.

Python pydantic. Валидация данных

Изучая FastAPI  я познакомился с замечательной библиотекой Pydantic. В документации FastAPI  отмечается, что "FastAPI стоит на плечах гигантов Starlette(асинхронный веб-фреймворк , который занимается работой с web) и Pydantic(который служит для валидации данных). 


В статье "Введение FastAPI" я на реальном примере описал использование Pydantic в связке с SQLAlchemy. А в данной статье мне хочется разобраться с самой библиотекой Pydantic, который используется во многих проектах по всему миру

Читать далее
23 Янв 2021 Г.

Django расширение модели User

Если вы создаете новый проект на Django , то я рекомендую использовать  пользовательскую модель User, которая расширяется от подкласса AbstractBaseUser вместо встроенной django.contrib.auth.models.User.  Вы конечно , можете этого не делать и использовать другие стратегии , такие как использование прокси-модели , использование связи один-к-одному с пользовательской моделью и создание пользовательской модели с помощью расширения AbstractUser, но по моему личному мнению расширения от подкласса AbstractBaseUser является самым гибким способом, хоть и вначале требует определенных усилий для его реализации.

Читать далее
8 Янв 2021 Г.

Введение FastAPI

Если вы разрабатываете свои проекты на Django , то вы легко можете разработать API с помощью замечательной библиотеки Django REST framework(DRF) . Но иногда бывает полезно рассматривать альтернативы и другие технологии , которые специально заточены для реализации данных задач. И при том эти фреймворки учитывают плюсы и минусы существующих технологий и разрабатываются с учетом новых возможностей языка Python. 
Одним из таких современных фреймворков , который разрабатывался для построения API является фреймворк FastAPI

Читать далее
26 Ноя 2020 Г.

Django prefetch_related

Многие начинающие разработчики на Django при работе с Django ORM сталкиваются с проблемой  известной как "N+1 запрос". Это неэффективное обращение к базе данных , когда для получения связанных данных для каждого объекта генерируется новый запрос. В предыдущем посте, мы рассмотрели как это проблема решается с помощью использования select_related. Но там мы рассматривали связь многое-к-одному

А что если у нас связь много-к-многим?  Как быть  в такой ситуации ?
 

 

Читать далее
2 Ноя 2020 Г.

Django select related. Оптимизируем запросы

Django ORM - это прекрасный инструмент , который позволяет нам работать с базой данных и при этом не используя голые запросы. Из-за этого начинающие разработчики допускают ошибки. 
Рассмотрим самый распрастраненный и классический случай. 

 

Читать далее
27 Мар 2020 Г.

Разбираемся в Python GIL

В этой статье мы разберем , что такое GIL. Для чего его реализовали в Python и какие проблемы он решает и какие проблемы он создает и почему его не убирают из Python. Нужно отметить тот факт, что GIL используется наиболее распространенной реализации интепретатора Python , а именно в CPython. 

Читать далее
25 Дек 2019 Г.

vk api python. Получаем аудиозаписи со своей страницы

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

Читать далее
5 Дек 2019 Г.

Используем Amazon SDK в python boto3

Amazon  Web Services (AWS)- это облачная платформа, разработанная и поддерживаемая компанией Amazon c 2006 года. 
Эта платформа предоставляет огромное количествео сервисов , которые вы можете использовать для  решения самых различных задач.
В данной статье мы рассмотрим библиотеку Boto3 , которая предоставляет SDK для работы с AWS с использованием языка программирования Python.

Читать далее
21 Ноя 2019 Г.

Логирование python

В процессе разработки программ мы часто игнорируем логирование. И для отладки программ мы используем вывод средствами print. И это большая ошибка , так как логирование играет большую роль при разработке надежных программных систем. Так как устранение ошибок производится не только на этапе разработки , но и на этапе продакшена могут возникать неполадки , которые требуют оперативного реагирования и решения. При правильном введении логировани мы можем упростить обнаружение неполадок и оперативное их устранение

Читать далее
14 Ноя 2019 Г.

Swagger для Django REST Framework

Зачем нам нужно документировать API ?
Что за такие страшные слова Swagger и OpenApi ?
Каквя между ними разница?
Как легко подключить Swagger документацию к вашим эндпоинтам , реализованных с помощью Django REST Framework(DRF)?
Попробуем об этом разобраться в этой  статье.

Читать далее
15 Окт 2019 Г.

Django.Отправляем по почте html сообщение

Отправить html сообщение по почте средствами django очень просто

Читать далее
4 Окт 2019 Г.

Введение Python spacy

Введение Python spacy

Читать далее
5 Авг 2019 Г.

Python. Итераторы и генераторы

Итератор в Python - это объект , класс которого имеет специальный метод __next__ и метод __iter__ , который возвращает итерируемый объект (в данном случае  return self). 
 

Читать далее
27 Июл 2019 Г.

Python requests. Авторизация на сайте

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

Для этого нужно авторизоваться на сайте. И в этой статье я покажу как с помощью замечательной библиотеки requests это реализовать.
В качестве примера попробуем залогиниться на сайте hh.ru.

Читать далее
24 Май 2019 Г.

Подключаем Django-ckeditor

Как-то мне для моего блога понадобилось подключить текстовый редактор.Выбор пал на CKEditor. Тем более для этого редактора существует замечательный плагин Django-ckeditor

Читать далее
14 Май 2019 Г.

Добавляем пост в Инстаграмм с помощью Python

Как-то мне понадобилось срочно добавить пост в инстаграмм , а смартфон был в ремонте. Я пользовался веб-версией сайта Инстаграмм, но там не было функциональности , которая позволяла бы загрузить пост.

Читать далее
13 Май 2019 Г.

Создание Excel файла на Python

Недавно мне понадобилось экспортировать данные в excel файл.На python это делается очень легко. Поэтому мы чуть усложним пример. Будем скачивать изображения и вставим их Excel файл.

Для создания Excel файла мы будем использовать import xlsxwriter

Читать далее
11 Май 2019 Г.

Используем GraphQL для Django приложений

GraphQL - это стандарт объявления структуры данных и способов получения данных, которую Facebook разработал в качестве альтернативы Rest API. В этой статье , мы покажем как с помощью замечательной библиотеки graphene-django легко использовать данную технологию на наших сайтах

Читать далее
8 Сен 2017 Г.

Django группировка результатов с помощью GROUP BY

Иногда при работе с базами данных нам приходится группировать результаты. Допустим ,  нам нужно подсчитать количество изображений для каждого товара или вычислить сумму для всех товаров или найти максимальную зарплату. Все это делается с помощью агрегатных функций и конструкции GROUP BY.
В данной статье рассмотрим , как с помощью Django ORM писать код, который на выходе генерирует SQL код с использованием GROUP BY и агрегатных функций.

 

 

Читать далее
7 Сен 2017 Г.

Пишем парсер на Scrapy

Напишем простой паук для обхода данных и сохранением их в MongoDB Для этого мы будем использовать замечательный швейцарский нож как его любят величать в интернете

Читать далее
12 Апр 2017 Г.

SQLAlchemy для новичков

SQLAlchemy — это программная библиотека на языке Python для работы с реляционными СУБД с применением технологии ORM. В данной статье мы рассмотрим , что такое SQLAlchemy , опишем с помощью нее таблицы и реализуем запросы извлечения и записи данных.

Читать далее
19 Сен 2016 Г.

Меню для django сайта

Как-то мне понадобилось реализовать меню на сайте, где пункты меню брались из базы данных. На сайтах, которые я ранее писал на php это реализовывалось довольной легко, а вот на django я сразу не мог это реализовать. Самый топорный , это конечно же передавать пункты меню в шаблон в каждой вьюхе )) Но погуглив , я понял, что это реализуется довольно легко с помощью пользовательских шаблонных тегов.

Читать далее
14 Июн 2016 Г.

Django регистрация.Добавляем пользователя в группу после регистрации

В своем проекте я использую замечательную библиотеку для регистрации пользователей django-registration. Так вот мне понадобилось , после регистрации пользователя добавлять его в одну из групп.

Читать далее

Подписка

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

Рубрики

Теги