Статьи, новости и советы по Django и Python

Ограничение типов контента в модели Django

В этой статье мы рассмотрим, как ограничить типы контента при работе с общими отношениями в Django

Разработка API GraphQL в Django с помощью Strawberry

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

Работа со статическими и медиа-файлами в Django

В этой статье рассматривается, как работать со статическими и мультимедийными файлами в проекте Django, локально и в рабочей среде.

Базовый и полнотекстовый поиск с Django и Postgres

В отличие от реляционных баз данных, полнотекстовый поиск не стандартизирован. Существует несколько вариантов с открытым исходным кодом, таких как ElasticSearch, Solr и Xapian. ElasticSearch, вероятно, является самым популярным решением, однако его сложно настроить и поддерживать. Кроме того, если вы не пользуетесь некоторыми расширенными функциями, которые предлагает ElasticSearch, вам следует придерживаться возможностей полнотекстового поиска, которые предлагают многие реляционные и нереляционные базы данных.

Автоматизация тестирования производительности в Django

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

Django и Pydantic

В этой статье мы рассмотрим, как интегрировать Pydantic с приложением Django, используя Пакеты Djantic и Django Ninja.

Основы Django REST Framework

Django REST Framework (DRF) - это широко используемый полнофункциональный API-фреймворк, предназначенный для создания RESTful API с помощью Django. По своей сути DRF интегрируется с основными функциями Django - моделями, представлениями и URL-адресами, что упрощает создание RESTful API.

Асинхронные представления в Django

Написание асинхронного кода дает вам возможность ускорить работу вашего приложения без особых усилий. Версии Django >= 3.1 поддерживают асинхронные представления, промежуточное программное обеспечение и тесты. Если вы еще не экспериментировали с асинхронными представлениями, сейчас самое время освоить их. В этом руководстве рассказывается о том, как начать работу с асинхронными представлениями Django.

Права доступа в Django

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

Быстрое прототипирование с помощью Django, htmx и Tailwind CSS

В этом руководстве вы узнаете, как настроить Django с помощью htmx и Tailwind CSS. Цель как htmx, так и Tailwind - упростить современную веб-разработку, чтобы вы могли создавать дизайн и обеспечивать интерактивность, не выходя за рамки комфорта и легкости HTML. Мы также рассмотрим, как использовать Django Compressor для объединения и минимизации статических ресурсов в приложении Django.

Разбивка на страницы в Django

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

Централизованное ведение журнала с помощью Django, Docker и CloudWatch

Давайте рассмотрим, как настроить контейнеризованное приложение Django, работающее на экземпляре EC2, для отправки журналов в Amazon CloudWatch.

Отладка контейнеризованного приложения Django в PyCharm

В этом кратком руководстве мы рассмотрим, как PyCharm приходит на помощь с помощью своего удаленного интерпретатора и интеграции с Docker, упрощая отладку контейнеризованного приложения Django.

Представления Django REST Framework - ViewSets

До этого момента мы рассматривали создание отдельных представлений с помощью APIViews и Общих представлений. Часто имеет смысл объединить логику представления для набора связанных представлений в один класс. Это может быть достигнуто в Django REST Framework (DRF) путем расширения одного из классов ViewSet. Классы ViewSet устраняют необходимость в дополнительных строках кода и в сочетании с маршрутизаторами помогают поддерживать согласованность ваших URL-адресов.

Общие представления (GenericViews) Django REST Framework

Часто используемые представления, которые тесно связаны с моделями баз данных (например, создание экземпляра модели, его удаление, перечисление экземпляров и т.д.), уже предварительно встроены в представления Django REST Framework (DRF). Эти элементы повторно используемого поведения называются Универсальными представлениями.

Django REST Framework Views - APIViews

Фреймворк Django REST Framework (DRF) имеет свой собственный набор представлений, которые наследуются от класса View Django. В этой серии из трех частей подробно рассматриваются все возможности DRF view - от простого представления, где многое приходится делать самостоятельно, до ModelViewSet, где вы можете настроить представление и запустить его с помощью всего нескольких строк кода. Поскольку виды построены один поверх другого, в этой серии также объясняется, как они переплетаются.

Django против Flask в 2024 году: какой фреймворк выбрать

Согласно Опросу разработчиков Python, проведенному JetBrains в 2022 году, Django и Flask на сегодняшний день являются двумя самыми популярными веб-фреймворками на Python. Хотя Django традиционно был самым популярным веб-фреймворком на Python, несколько лет назад Flask обошел Django и занял первое место, что неудивительно, учитывая, что за последние восемь или около того лет индустрия веб-разработки перешла на более мелкие фреймворки, микросервисы и "бессерверные" платформы.

Повторно используемые компоненты в Django с помощью Stimulus и Tailwind CSS — Часть 2

В первой части этой серии руководств мы настроили Django, настроили python-webpack-boilerplate и использовали Stimulus и Tailwind CSS для создания повторно используемых модальных компонентов и компонентов табуляции. В этой второй части мы рассмотрим, как использовать django-viewcomponent для создания серверных компонентов, которые могут помочь нам более эффективно использовать код повторно.

Повторно используемые компоненты в Django с помощью Stimulus и Tailwind CSS — Часть 1

В этом руководстве мы рассмотрим, как создавать компоненты пользовательского интерфейса в вашем полнофункциональном приложении Django, которые помогут вам повторно использовать код (как внешний, так и внутренний) и поддерживать его в чистоте и ремонтопригодности.

Приблизительный подсчет в Django и Postgres

По мере роста вашего проекта на Django вы можете заметить, что загрузка сайта администратора занимает все больше времени. В основном это связано с пагинатором Django, который использует медленный запрос SELECT COUNT(*) для вычисления количества строк в таблице. В какой-то момент на этот запрос будет приходиться более 95% времени загрузки страницы.