Django REST Framework (DRF) - это широко используемый полнофункциональный API-фреймворк, предназначенный для создания RESTful API с помощью Django. По своей сути DRF интегрируется с основными функциями Django - моделями, представлениями и URL-адресами, что упрощает создание RESTful API.
Написание асинхронного кода дает вам возможность ускорить работу вашего приложения без особых усилий. Версии Django >= 3.1 поддерживают асинхронные представления, промежуточное программное обеспечение и тесты. Если вы еще не экспериментировали с асинхронными представлениями, сейчас самое время освоить их. В этом руководстве рассказывается о том, как начать работу с асинхронными представлениями Django.
Django поставляется с мощной системой разрешений, готовой к использованию. В этой статье мы рассмотрим, как назначить разрешения пользователям и группам, чтобы разрешить им выполнять определенные действия.
В этом руководстве вы узнаете, как настроить Django с помощью htmx и Tailwind CSS. Цель как htmx, так и Tailwind - упростить современную веб-разработку, чтобы вы могли создавать дизайн и обеспечивать интерактивность, не выходя за рамки комфорта и легкости HTML. Мы также рассмотрим, как использовать Django Compressor для объединения и минимизации статических ресурсов в приложении Django.
Разбивка на страницы - это процесс разбивки больших массивов данных по нескольким отдельным веб-страницам. Вместо того чтобы отправлять все данные пользователю, вы можете определить количество отдельных записей, которые вы хотите отобразить на странице, а затем отправить обратно данные, соответствующие странице, запрошенной пользователем.
В этом кратком руководстве мы рассмотрим, как PyCharm приходит на помощь с помощью своего удаленного интерпретатора и интеграции с Docker, упрощая отладку контейнеризованного приложения Django.
До этого момента мы рассматривали создание отдельных представлений с помощью APIViews и Общих представлений. Часто имеет смысл объединить логику представления для набора связанных представлений в один класс. Это может быть достигнуто в Django REST Framework (DRF) путем расширения одного из классов ViewSet. Классы ViewSet устраняют необходимость в дополнительных строках кода и в сочетании с маршрутизаторами помогают поддерживать согласованность ваших URL-адресов.
Часто используемые представления, которые тесно связаны с моделями баз данных (например, создание экземпляра модели, его удаление, перечисление экземпляров и т.д.), уже предварительно встроены в представления Django REST Framework (DRF). Эти элементы повторно используемого поведения называются Универсальными представлениями.
Фреймворк Django REST Framework (DRF) имеет свой собственный набор представлений, которые наследуются от класса View Django. В этой серии из трех частей подробно рассматриваются все возможности DRF view - от простого представления, где многое приходится делать самостоятельно, до ModelViewSet, где вы можете настроить представление и запустить его с помощью всего нескольких строк кода. Поскольку виды построены один поверх другого, в этой серии также объясняется, как они переплетаются.
Согласно Опросу разработчиков Python, проведенному JetBrains в 2022 году, Django и Flask на сегодняшний день являются двумя самыми популярными веб-фреймворками на Python. Хотя Django традиционно был самым популярным веб-фреймворком на Python, несколько лет назад Flask обошел Django и занял первое место, что неудивительно, учитывая, что за последние восемь или около того лет индустрия веб-разработки перешла на более мелкие фреймворки, микросервисы и "бессерверные" платформы.
В первой части этой серии руководств мы настроили Django, настроили python-webpack-boilerplate и использовали Stimulus и Tailwind CSS для создания повторно используемых модальных компонентов и компонентов табуляции. В этой второй части мы рассмотрим, как использовать django-viewcomponent для создания серверных компонентов, которые могут помочь нам более эффективно использовать код повторно.
В этом руководстве мы рассмотрим, как создавать компоненты пользовательского интерфейса в вашем полнофункциональном приложении Django, которые помогут вам повторно использовать код (как внешний, так и внутренний) и поддерживать его в чистоте и ремонтопригодности.
По мере роста вашего проекта на Django вы можете заметить, что загрузка сайта администратора занимает все больше времени. В основном это связано с пагинатором Django, который использует медленный запрос SELECT COUNT(*) для вычисления количества строк в таблице. В какой-то момент на этот запрос будет приходиться более 95% времени загрузки страницы.
В этом руководстве мы рассмотрим, как создавать серверные компоненты пользовательского интерфейса в Django с помощью django-viewcomponent, который может помочь вам повторно использовать код и поддерживать его в чистоте и ремонтопригодности.
В этой статье подробно описываются различия между разработкой приложения с использованием Vue и Django REST Framework (DRF) по сравнению с HTMX и Django. Мы рассмотрим простой пример того, как работают обе комбинации, и сравним их сильные и слабые стороны.
Одной из самых мощных функций Django является QuerySet, который представляет собой коллекцию объектов из базы данных. QuerySet можно строить, фильтровать, нарезать или вообще передавать, не обращаясь к базе данных. Никаких действий с базой данных не происходит до тех пор, пока мы не выполним какие-либо действия по оценке QuerySet, например итерацию, нарезку, вызов len() или преобразование в список.
Когда вы пишете надежный код, тесты необходимы для проверки правильности, надежности и эффективности логики вашего приложения. Однако ценность ваших тестов зависит от того, насколько хорошо они демонстрируют эти критерии. Такие препятствия, как сложная логика и непредсказуемые зависимости, затрудняют написание ценных тестов. Библиотека Python mock-объектов unittest.mock поможет вам преодолеть эти препятствия.
PyInstaller дает вам возможность создать папку или исполняемый файл, который пользователи смогут сразу же запустить без дополнительной установки. Чтобы в полной мере оценить возможности PyInstaller, полезно вернуться к некоторым проблемам распространения, которых PyInstaller поможет вам избежать.
Если вы умеете писать и поддерживать чистый, простой код на Python, то это сэкономит вам много времени в долгосрочной перспективе. Вы сможете тратить меньше времени на тестирование, поиск ошибок и внесение изменений, когда ваш код хорошо изложен и прост в исполнении.
Хотя Python не является чисто объектно-ориентированным языком, он достаточно гибкий и мощный, чтобы позволить вам строить свои приложения в объектно-ориентированной парадигме. Одним из способов, с помощью которого Python достигает этого, является поддержка наследования, которую он осуществляет с помощью super().