Статьи о Django

Изучите систему аутентификации пользователей Django

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

Миграция базы данных Django: всесторонний обзор

Веб-инфраструктура Django предназначена для работы с серверной частью реляционной базы данных на основе SQL, чаще всего PostgreSQL или MySQL. Если вы никогда раньше не работали напрямую с реляционной базой данных, управление тем, как ваши данные хранятся/доступны, и обеспечение их согласованности с кодом вашего приложения, является важным навыком, который необходимо освоить.

Шаблоны Django: лучшие практики

Django, как веб-фреймворк, использует шаблоны как способ создания статического HTML из вывода представления Django. На практике шаблоны Django — это просто HTML-файлы с особым синтаксисом и набором инструментов, которые позволяют Django отображать HTML-страницу на лету для посещающего пользователя. Шаблоны легко настраиваются, но они должны быть простыми, а большая часть «тяжелой» логики находится в представлении. Давайте углубимся и изучим некоторые стандартные способы решения распространенных проблем.

Расширенные модели Django: улучшите свою разработку на Python

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

Учебное пособие по созданию пользовательской модели пользователя Django

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

Аутентификация OAuth в Django с помощью social-auth

Во время разработки моего последнего проекта django мне пришлось обеспечить аутентификацию пользователей с помощью учетных записей Google. Для этого я использовал библиотеку social-app-django, которая реализует механизм аутентификации/регистрации, который поддерживает несколько провайдеров аутентификации и протоколов, таких как OAuth (версии 1 и 2) или OpenId.

Оптимизации в Django: select_related, prefetch_related, индексы БД и кэширование

Django - это популярный фреймворк для создания веб-приложений на языке Python. Одним из ключевых преимуществ Django является его ORM (Object-Relational Mapping), который позволяет работать с базами данных через объекты Python. Однако, при работе с ORM могут возникать проблемы производительности, так как некоторые операции могут быть достаточно медленными. В этой статье мы рассмотрим способы оптимизации работы с базой данных в Django, включая использование метода select_related и другие методы ускорения работы вашего приложения.

Введение в Django Simple History

Разве не было бы полезно, если бы мы могли документировать изменения в нашей жизни и возвращаться к ним позже по желанию? Это позволило бы нам лучше анализировать ситуации, помнить, о чем мы думали, или помогало бы нам помнить, как мы пришли к нашему нынешнему состоянию. Хотя в настоящее время такого инструмента для изменения жизни не существует, в Django он существует. Это называется django-simple-history.

Фильтрация и разбиение на страницы с Django

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

Как использовать Celery для планирования задач

Существует несколько способов планирования задач в приложении Django, но использование Celery имеет некоторые преимущества. Он поддерживается, хорошо масштабируется и хорошо работает с Django. Учитывая его широкое использование, есть также много ресурсов для получения дополнительной информации о нем, и после изучения эти знания, вероятно, будут полезны в других проектах.

Как реализовать аутентификацию по токену с помощью Django REST Framework

В этом руководстве вы узнаете, как реализовать аутентификацию на основе токенов с использованием Django REST Framework (DRF). Аутентификация токена работает путем обмена имени пользователя и пароля на токен, который будет использоваться во всех последующих запросах, чтобы идентифицировать пользователя на стороне сервера.

Как создать миграцию данных Django

Миграция данных — это очень удобный способ изменения данных в базе данных одновременно с изменениями в схеме. Они работают как обычная миграция схемы. Django отслеживает зависимости, порядок выполнения и применяет ли приложение уже данную миграцию данных или нет.

Итераторы и итерации в Python: выполнение эффективных итераций

Итераторы Python и iterables — это два разных, но связанных инструмента, которые пригодятся, когда вам нужно выполнить итерацию по потоку данных или контейнеру. Итераторы обеспечивают и контролируют процесс итерации, в то время как итерации обычно содержат данные, которые вы хотите перебирать по одному значению за раз.

Python 3.11: новые классные возможности, которые вы можете попробовать

Python 3.11 был опубликован 24 октября 2022 г. Эта последняя версия Python работает быстрее и удобнее для пользователя. После семнадцати месяцев разработки он готов к использованию в прайм-тайм. Как и в каждой версии, Python 3.11 содержит множество улучшений и изменений. Вы можете увидеть список всех из них в документации. Здесь вы познакомитесь с самыми крутыми и эффективными новыми функциями.

Представления на основе классов или функции в Django?

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

Безопасное развертывание приложения Django с помощью Gunicorn, Nginx и HTTPS

Переход приложения Django от разработки к производству - сложный, но полезный процесс. Это руководство проведет вас через этот процесс шаг за шагом, предоставив подробное руководство, которое начинается с нуля с простого приложения Django и добавляет Gunicorn, Nginx, регистрацию домена и ориентированные на безопасность заголовки HTTP. Изучив это руководство, вы будете лучше подготовлены к тому, чтобы запустить приложение Django в производство и предоставить его миру.

Автоматический повтор невыполненных задач Celery

В этом руководстве мы рассмотрим, как автоматически повторить неудачные задачи Celery.

Django REST Framework и Elasticsearch

В этом руководстве мы рассмотрим, как интегрировать Django REST Framework (DRF) с Elasticsearch. Мы будем использовать Django для моделирования наших данных, а DRF для их сериализации и передачи. Наконец, мы проиндексируем данные с помощью Elasticsearch и сделаем их доступными для поиска.

Докеризация Django с помощью Postgres, Gunicorn и Nginx

Это пошаговое руководство подробно описывает, как настроить Django для запуска на Docker с Postgres. Для производственных сред мы добавим Nginx и Gunicorn. Мы также рассмотрим, как обслуживать статические и медиафайлы Django через Nginx.

Асинхронные задачи с Django и Celery

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