Quickstarters

Как создать бэкенд для Django?

40min

Введение

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

Django — это высокоуровневый веб-фреймворк, который способствует быстрому развитию бэкенда и чистому, прагматичному дизайну.

Мы создадим масштабируемый и безопасный бэкенд, который бесшовно интегрируется с вашим проектом на Django.

Используя Back4App, вы можете воспользоваться автоматизированным управлением базами данных, мощными API, хранением файлов, аутентификацией пользователей, валидацией данных, возможностями в реальном времени и расширенными функциями безопасности.

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

Этот подход сокращает время разработки, устраняя необходимость вручную настраивать серверы и базы данных.

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

Предварительные требования

  • Учетная запись Back4App и новый проект Back4App Начало работы с Back4App. Если у вас нет учетной записи, вы можете создать ее бесплатно. Следуйте приведенному выше руководству, чтобы подготовить ваш проект.
  • Проект Django, настроенный локально Убедитесь, что у вас есть рабочая среда Django. Если вы начинаете с нуля, следуйте официальной документации Django. Подтвердите, что структура INSTALLED_APPS и основные представления и шаблоны готовы.
  • Установлен Python 3.7+ Вам потребуется современная среда Python для вашего приложения Django.
  • Знание архитектуры model view Django и основных операций CRUD Если вы новичок в Django или хотите освежить свои знания, ознакомьтесь с документацией Django.

Наличие этих предварительных требований обеспечит более плавный процесс, когда вы будете следовать этому руководству.

Шаг 1 – Создание нового проекта на Back4App и подключение

Почему вам нужен проект Back4App

Новый проект на Back4App является основой вашей разработки бэкенда. Он предоставляет вам возможности Parse Server, инструменты базы данных и мощный интерфейс администратора.

Эта центральная структура позволяет вам разгрузить управление сервером и сосредоточиться на бизнес-логике вашего приложения Django.

Создать новый проект

  1. Войдите в свою учетную запись Back4App.
  2. Нажмите кнопку “Новое приложение” в вашей панели управления Back4App.
  3. Назовите ваше приложение (например, “Django-Backend-Tutorial”).
Document image


После создания ваше приложение появится в вашей панели управления Back4App. Этот новый проект — это место, где мы будем хранить данные, управлять правилами безопасности и выполнять серверный код для вашего приложения Django.

Установка Parse Python SDK

Чтобы подключить ваш проект Django к Back4App, мы будем использовать Parse Python SDK. Он позволяет вам обрабатывать операции с данными, аутентификацию пользователей, функции в реальном времени и многое другое из вашего кода на Python.

  1. Получите ваши ключи приложения:
    • В панели управления Back4App перейдите в Настройки приложения или Безопасность и ключи чтобы найти ваш Идентификатор приложения и Ключ клиента (или Ключ REST) и URL-адрес сервера Parse (например, https://parseapi.back4app.com).
Document image

  1. Установите SDK:
Bash

  1. Инициализируйте Parse в вашем проекте Django. Например, создайте новый файл с именем parse_config.py внутри каталога вашего основного приложения Django (в той же папке, что и views.py или models.py):
Python


С этой конфигурацией любой файл в вашем проекте Django может импортировать parse_config для обеспечения соединения с вашим бэкендом Back4App. Теперь вы можете запрашивать и сохранять данные из вашего кода Django, используя Parse Python SDK.

Шаг 2 – Настройка базы данных

1. Создание модели данных

Так же, как Django использует модели для хранения данных в реляционной базе данных, Parse использует классы для хранения объектов. Вы можете создавать классы в панели управления Back4App или определять их на лету.

  • В панели управления Back4App
    1. Перейдите к База данных
    2. Нажмите Создать класс
    3. Назовите его (например, “Список дел”), затем добавьте поля, такие как title (Строка) и isCompleted (Булевый).
Создать новый класс
Создать новый класс


2. Использование AI-агента для автоматической генерации модели данных

AI-агент Back4App может помочь вам автоматически сгенерировать схему:

  1. Откройте AI-агента в панели управления вашим приложением.
  2. Опишите вашу модель данных (например, “Схема приложения Список дел с полями title, isCompleted и указателем на пользователя.”).
  3. Позвольте AI-агенту создать ее для вас.
Document image


Это может сэкономить время, особенно если ваше приложение Django требует сложных отношений или продвинутой валидации данных.

3. Чтение и запись данных с использованием Parse SDK

Ниже приведен пример создания и запроса объекта Todo из вашего проекта Django:

Python


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

4. Чтение и запись данных с использованием REST API

Если вы предпочитаете REST, вот как создать объект Todo:

Bash


5. Чтение и запись данных с использованием GraphQL API

Back4App также предоставляет интерфейс GraphQL. Например:

GraphQL


Это полезно, если вы хотите интегрировать запросы GraphQL в ваши представления Django или микросервисы как часть современной архитектуры данных.

6. Работа с живыми запросами (по желанию)

Для обновлений в реальном времени вы можете включить живые запросы в панели управления Back4App. В данный момент официальный SDK Parse для Python может иметь ограниченную поддержку живых запросов. Тем не менее, вы все равно можете подписаться на изменения через WebSockets или другие подходы, если это необходимо. Проверьте документацию Back4App для получения последних обновлений о живых запросах Python.

Шаг 3 – Применение безопасности с помощью ACL и CLP

1. Краткий обзор

Используйте Списки контроля доступа (ACL) и Разрешения на уровне класса (CLP) для защиты ваших данных. ACL контролируют права на чтение/запись для каждого объекта, в то время как CLP применяются ко всему классу.

Document image


2. Пошагово

  • Настройка разрешений на уровне класса:
    1. Перейдите в раздел База данных в Back4App.
    2. Выберите класс (например, Todo).
    3. Настройте Доступ на чтение/запись или требуйте входа в систему.
  • Настройка ACL в коде:

Это гарантирует, что ваш проект Django соблюдает те же детализированные правила безопасности, установленные в Back4App.

Шаг 4 – Написание функций облачного кода

1. Почему облачный код

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

2. Пример функции

Cloud Code обычно пишется на JavaScript. Вы развертываете его на Back4App, а затем вызываете из вашего приложения Django через Parse Python SDK или REST-запросы. Простая функция:

JS


3. Развертывание

  1. Используйте Back4App CLI или Панель управления.
  2. Разверните ваш main.js с облачными функциями.
  3. После развертывания они становятся доступными для вашего кода Django через:
Python


4. NPM

Если вам нужны внешние модули Node в вашем Cloud Code, объявите их в вашем каталоге Cloud Code package.json. Back4App автоматически устанавливает их при развертывании.

Шаг 5 – Настройка аутентификации

1. Включите или настройте аутентификацию пользователей

По умолчанию Parse включает класс User для регистрации и входа. Настройте проверку электронной почты, сброс пароля и многое другое в панели управления Back4App.

2. Примеры кода Django

Python


3. Социальный вход

Если вам нужны входы через Google, Apple или Facebook, настройте их в Auth Settings Back4App и следуйте соответствующим руководствам. Ваше приложение Django затем может связывать или входить в систему пользователей, вызывая соответствующие методы Parse.

Шаг 6 – Обработка хранения файлов

1. Настройка файлового хранилища

Back4App безопасно хранит файлы, загруженные через Parse SDK. Вы можете загружать из Django, отправляя файл в поле Parse File:

Python


2. Пример

Если вы хотите добавить изображения, загруженные пользователями, интегрируйте <input type="file"> в ваши шаблоны Django, а затем обработайте файл в функции представления, которая вызывает upload_image().

3. Соображения безопасности

Parse предоставляет конфигурацию, которая контролирует, кто может загружать файлы:

JSON


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

Шаг 7 – Подтверждение электронной почты и сброс пароля

1. Обзор

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

2. Конфигурация панели управления

  1. Откройте ваше приложение Back4App
  2. Включите подтверждение электронной почты в Настройках приложения > Настройки электронной почты
  3. Настройте шаблоны электронной почты в соответствии с вашим брендингом

3. Код/Реализация

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

Шаг 8 – Планирование задач с помощью облачных заданий

1. Что делают облачные задания

Облачные задания позволяют вам выполнять автоматизированные задачи, такие как очистка старых данных или генерация отчетов. Это дополняет crontab или celery рабочие процессы Django, централизуя задачи в среде Back4App.

2. Пример

JS


После развертывания запланируйте его в Back4App Dashboard в разделе Настройки сервера > Фоновые задания для выполнения ежедневно или еженедельно.

Шаг 9 – Интеграция вебхуков

1. Определение

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

2. Конфигурация

  1. Перейдите в Разное > Вебхуки в панели управления.
  2. Настройте вашу внешнюю конечную точку (например, URL в вашем проекте Django).
  3. Определите триггеры (например, “Объект создан” в Todo).
Добавление вебхука
Добавление вебхука


3. Пример

Каждый раз, когда создается новая задача, POST-запрос отправляется на конечную точку вашего приложения Django. В Django вы бы разобрали JSON-данные и обработали их (например, записали в журнал или произвели дальнейшую обработку).

Шаг 10 – Изучение панели администратора Back4App

1. Где это найти

Приложение Back4App Admin App находится в вашей консоли в разделе More > Admin App. Это интерфейс, ориентированный на модели, для управления вашими данными без написания кода.

Включить приложение администратора
Включить приложение администратора


2. Функции

  • База данных: Быстро просматривайте, редактируйте или удаляйте записи.
  • Журналы: Отслеживайте ошибки или журналы процессов.
  • Фоновые задачи: Управляйте расписанием ваших облачных задач.
  • Аналитика и уведомления: Если это актуально для вашего приложения, получайте доступ к уведомлениям и данным аналитики.

Это похоже на собственный административный интерфейс, но сосредоточено на бэкенде Parse.

Заключение

Следуя этому руководству, вы узнали, как создать бэкенд для Django с использованием Back4App. Вы:

  • Создали безопасную и масштабируемую структуру бэкенда для вашего приложения Django.
  • Настроили модель данных, выполнили операции CRUD и использовали функции в реальном времени.
  • Реализовали ACL, CLP и аутентификацию пользователей для высокого уровня безопасности.
  • Использовали Cloud Code для бизнес-логики, валидации данных и внешних интеграций.
  • Хранили файлы, планировали Cloud Jobs и настраивали Webhooks для сложных рабочих процессов.
  • Изучили приложение Back4App Admin для эффективного управления вашими данными.

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

Продолжайте экспериментировать с Parse Python SDK, чтобы создавать мощные веб-приложения. Удачного кодирования!

Следующие шаги

  • Создайте готовое к производству приложение Django с продвинутым кэшированием, ролями пользователей и оптимизацией производительности.
  • Используйте более продвинутые функции Back4App такие как продвинутая аналитика или контроль доступа на основе ролей.
  • Изучите официальную документацию Back4App для более глубокого понимания логов, запросов в реальном времени и оптимизации данных.
  • Изучите другие учебники чтобы увидеть, как вы можете объединить мощные «представления и шаблоны» Django с внешними API и м