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

01 Сен 2022 python django

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

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

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

 

 

 

Читать далее

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

10 Июл 2022 python

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

Читать далее

Введение SQLAlchemy Core и ORM

09 Июл 2022 sqlalchemy

SQLAlchemy - это инструментарий базы данных(database toolkit) для Python. Он предоставляет все возможности которые нам нужны при работе с реляционными базами данных , но при этом весь код будет написан на Python. Не нужно писать голые запросы специфичные для каждой реляционной базы данных и при этом задумываться об экранировании и об других важных вещах. Вместо этого SQLAlchemy позволяет абстрагироваться от используемой базы данных. Написанный код на Pyhon будет работать прекрасно работать с разными БД(Postgresql, MySql, Sqlite). Если вы на старте проекта используете одну БД , но вам нужно переключиться на другую, то вы можете это сделать безболезненно и с минимальными усилиями.

SQLAlchemy состоит из двух отдельных компонентов, известных как Core и ORM. И при этом ORM(Object Relational Mapper) реализован поверх ядра(Core). 


 

Читать далее

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

20 Апр 2022 python

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


 

Читать далее

Пишем первую программу на Go

16 Июл 2021 go

В этой статье мы напишем и запустим первую программу на Go
Для начала вы должны устанавить компилятор Go на свой компьютер
Далее создадим директорию helloworld и перейдем в эту директорию.

Читать далее

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

28 Май 2021 python django

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

 

 

Читать далее

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

28 Май 2021 python django

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

Читать далее

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

08 Май 2021 python

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

Читать далее

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

05 Май 2021 python django Тестирование

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

Читать далее

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

05 Апр 2021 python

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


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

Читать далее

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

23 Янв 2021 django

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

Читать далее

Введение FastAPI

08 Янв 2021 python sqlalchemy fastapi

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

Читать далее

Django prefetch_related

26 Ноя 2020 django

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

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

 

Читать далее

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

02 Ноя 2020 python

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

 

Читать далее

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

27 Мар 2020 python

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

Читать далее

Подписка

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

Рубрики

Теги