1 Мар 2024 Г.

Публикуем посты блога на канале telegram используя Django

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

И в этой статье я пошагово расскажу как это сделать.

Читать далее
7 Янв 2024 Г.

Swagger для Django REST Framework

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

Читать далее
9 Дек 2023 Г.

Django 5. Рассмотрим новые возможности на примерах

4 декабря 2023 года состоялся релиз Django 5.0

Django 5.0 поддерживает Python 3.10, 3.11, и 3.12. Поэтому настоятельно рекомендую обновляться на эти версии и идти ногу со временем. 
В этой статье мы подробно на примерах рассмотрим новые возможности , которые были добавлены в этой версии. 

Читать далее
2 Окт 2023 Г.

Python 3.12. Что нового ?

Python 3.12. Что нового ?
 

Буквально час тому назад состоялся релиз новой версии Python3.12.0 (финальный релиз) !!!

Основные новые возможности Python 3.12.0 по сравнении с версией Python 3.11

Новые фичи

  1. Более гибкий разбор f-строк(More flexible f-string parsing ) , позволяющий множество вещей, ранее запрещенных (PEP 701).

  2. Поддержка протоколов буфера в коде Python (PEP 688).

  3. Новый API для отладки/профилирования (PEP 669).

  4. Поддержка изолированных подинтерпретаторов(subinterpreters) с отдельными GIL (PEP 684).

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

  6. Поддержка профилировщика Linux perf для отображения имен функций Python в трассировках.

  7. Множество крупных и мелких улучшений производительности(например, PEP 709 и поддержка бинарного оптимизатора BOLT), обеспечивающих ожидаемое общее улучшение производительности на уровне 5%.

Читать далее
1 Сен 2022 Г.

Django Rest Framework (DRF) - Загрузка файлов

Django Rest Framework (DRF) -  Загрузка файлов 

В этой статье рассмотрим как можно загружать файлы с помощью Django Rest Framework

Рассмотрим самый простой случай. У нас есть модель Post , у которого есть поле preview , куда нужно загружать изображения 

 

 

 

Читать далее
10 Июл 2022 Г.

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

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

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

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

 

При разработке нового проекта на Python рекомендуется начинать с создания виртуальной среды, которая изолирует проект от других установленных пакетов на вашей системе. Для добавления внешних зависимостей, таких как Django, requests и других библиотек,я обычно использую инструмент управления пакетами pip  Далее для удобства  мы формируем файл c зависимостями requirements.txt , который содержит список всех зависимостей проекта. 

Но в последних проектах для управления зависимостями я начал использовать Poetry. И в этой статье мне хочется рассказать , что из себя представляет Poetry, как его использовать в своих проектах и какие возможности он предоставляет.

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

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

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

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

 

 

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

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

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

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

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

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

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

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

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

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

Apache Kafka. Введение для начинающих

В этой статье я расскажу об основных концепциях Apache Kafka , установим локально с помощью docker compose брокер Apache Kafka , создадим тестовый топик , напишем на python первый продьюсер(producer), чтобы публиковать события в этот топик и первый консьюмер(consumer) , чтобы читать из этого топика  

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

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

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

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

Паттерн Singleton в Python

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

Читать далее
23 Мар 2021 Г.

Python staticmethod , classmethod

В Python методы - это мощный инструмент для организации кода и выполнения действий как на уровне объектов, так и на уровне классов. Давайте ближе познакомимся с различными типами методов, доступными в Python.

Читать далее
7 Мар 2021 Г.

Python декораторы

Декораторы - одни из самых часто используемых инструментов в Python и предназначен для добавления дополнительного функционала данной функции без изменения содержимого.

В этой статье я покажу как можно создать и использовать декораторы.

Декораторы и их использование в экосистеме Python

Декоратор — это функция, которая позволяет обернуть другую функцию для расширения её функциональности без непосредственного изменения её кода.
Например , в документации Django вы можете увидеть такой код , где для кеширования вьюхи предлагают использовать декоратор cache_page

 

Читать далее
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

Введение 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. 

Python GIL

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

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

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

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

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

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

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

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

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

Читать далее
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.

Python авторизация

Читать далее
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 и агрегатных функций.Django Group by

 

 

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее

Подписка

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

Рубрики

Теги