퀵스타터즈

장고를 위한 백엔드 구축 방법은?

39min

소개

이 튜토리얼에서는 Django를 위한 백엔드를 구축하는 방법을 배울 것입니다.

Django는 빠른 백엔드 개발과 깔끔하고 실용적인 디자인을 장려하는 고급 웹 프레임워크입니다.

우리는 Django 프로젝트와 원활하게 통합되는 확장 가능하고 안전한 백엔드를 만들 것입니다.

Back4App을 사용하면 자동화된 데이터베이스 관리, 강력한 API, 파일 저장, 사용자 인증, 데이터 검증, 실시간 기능 및 고급 보안 기능을 활용할 수 있습니다.

Back4App의 환경이 서버 인프라를 자동으로 생성하는 방법을 보게 될 것이며, 이를 통해 Django 앱의 비즈니스 로직에 집중할 수 있습니다.

이 접근 방식은 서버와 데이터베이스를 수동으로 설정할 필요를 없애 개발 시간을 단축시킵니다.

이 튜토리얼이 끝나면 더 복잡한 기능, 통합 및 사용자 정의 논리로 확장할 수 있는 웹 애플리케이션을 위한 강력한 구조를 갖게 될 것입니다.

전제 조건

  • Back4App 계정과 새로운 Back4App 프로젝트 Back4App 시작하기. 계정이 없으신 경우, 무료로 생성할 수 있습니다. 위 가이드를 따라 프로젝트를 준비하세요.
  • 로컬에 설정된 Django 프로젝트 작동하는 Django 환경이 있는지 확인하세요. 처음부터 시작하는 경우, Django 공식 문서. 프로젝트의 INSTALLED_APPS 및 기본 views and templates 구조가 준비되었는지 확인하세요.
  • Python 3.7+ 설치됨 Django 앱을 위해 현대적인 Python 환경이 필요합니다.
  • 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 대시보드에서 앱 설정 또는 보안 및 키로 가서 애플리케이션 ID클라이언트 키 (또는 REST 키) 및 Parse 서버 URL (예: 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 백엔드와의 연결을 보장할 수 있습니다. 이제 Parse Python SDK를 사용하여 Django 코드에서 데이터를 쿼리하고 저장할 수 있습니다.

2단계 – 데이터베이스 설정

1. 데이터 모델 생성

Django가 관계형 데이터베이스에 데이터를 저장하기 위해 모델을 사용하는 것처럼, Parse는 객체를 저장하기 위해 클래스를 사용합니다. Back4App 대시보드에서 클래스를 생성하거나 즉석에서 정의할 수 있습니다.

  • Back4App 대시보드에서
    1. 이동하여 데이터베이스
    2. 클릭하여 클래스 만들기
    3. 이름을 지정하세요 (예: “할 일”), 그런 다음 title (문자열) 및 isCompleted (부울)과 같은 필드를 추가하세요.
새 클래스 만들기
새 클래스 만들기


2. AI 에이전트를 사용하여 데이터 모델 자동 생성하기

Back4App의 AI 에이전트는 스키마를 자동으로 생성하는 데 도움을 줄 수 있습니다:

  1. AI 에이전트 열기 앱 대시보드에서.
  2. 데이터 모델 설명하기 (예: “제목, 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


이것은 Django 뷰나 마이크로서비스에 GraphQL 쿼리를 통합하고자 할 때 유용합니다.

6. 실시간 쿼리 작업하기 (선택 사항)

실시간 업데이트를 위해, Back4App 대시보드에서 Live Queries를 활성화할 수 있습니다. 현재 공식 Parse Python SDK는 제한된 직접 Live Query 지원을 제공할 수 있습니다. 그러나 필요하다면 WebSockets 또는 다른 방법을 통해 변경 사항을 구독할 수 있습니다. 최신 Python Live Queries에 대한 업데이트는 Back4App Docs를 확인하세요.

3단계 – ACL 및 CLP로 보안 적용하기

1. 간략한 개요

데이터를 보호하기 위해 Access Control Lists (ACLs)Class-Level Permissions (CLPs)를 사용하세요. ACL은 객체별로 읽기/쓰기 권한을 제어하고, CLP는 전체 클래스에 적용됩니다.

Document image


2. 단계별

  • 클래스 수준 권한 설정:
    1. Back4App의 데이터베이스 섹션으로 이동합니다.
    2. 클래스를 선택합니다 (예: Todo).
    3. 읽기/쓰기 접근을 조정하거나 로그인을 요구합니다.
  • 코드에서 ACL 구성:

이것은 당신의 장고 프로젝트가 Back4App에서 설정한 동일한 세분화된 보안 규칙을 준수하도록 보장합니다.

4단계 – 클라우드 코드 함수 작성

1. 클라우드 코드의 이유

클라우드 코드로, 당신은 비즈니스 로직을 서버 측에서 실행합니다. 예를 들어, 데이터 유효성 검사를 수행하거나, 외부 API를 통합하거나, 데이터를 저장하기 전에 이벤트를 트리거할 수 있습니다. 이는 당신의 장고 뷰와 템플릿에 강력한 보완이 되어, 고급 로직을 한 곳에 중앙 집중화할 수 있게 해줍니다.

2. 예제 함수

클라우드 코드는 일반적으로 JavaScript로 작성됩니다. 이를 Back4App에 배포한 후, Django 앱에서 Parse Python SDK 또는 REST 요청을 통해 호출합니다. 간단한 함수:

JS


3. 배포

  1. Back4App CLI를 사용하세요 또는 대시보드.
  2. 클라우드 함수와 함께 main.js를 배포하세요.
  3. 배포가 완료되면, Django 코드에서 다음을 통해 접근할 수 있습니다:
Python


4. NPM

클라우드 코드에서 외부 Node 모듈이 필요하면, 클라우드 코드 디렉토리의 package.json에 선언하세요. Back4App은 배포 시 자동으로 설치합니다.

5단계 – 인증 구성

1. 사용자 인증 활성화 또는 설정

기본적으로 Parse는 User 클래스를 사용하여 회원가입 및 로그인을 처리합니다. Back4App 대시보드에서 이메일 확인, 비밀번호 재설정 등을 구성하세요.

2. Django 코드 샘플

Python


3. 소셜 로그인

Google, Apple 또는 Facebook 로그인이 필요하면, Back4App의 Auth Settings에서 구성하고 해당 가이드를 따르세요. 그런 다음 Django 앱에서 관련 Parse 메서드를 호출하여 사용자를 연결하거나 로그인할 수 있습니다.

6단계 – 파일 저장 처리

1. 파일 저장소 설정

Back4App은 Parse SDK를 통해 업로드된 파일을 안전하게 저장합니다. Django에서 Parse File 필드에 파일을 전송하여 업로드할 수 있습니다:

Python


2. 예제

사용자가 업로드한 이미지를 추가하려면, Django 템플릿에 <input type="file">를 통합한 다음, upload_image()를 호출하는 뷰 함수에서 파일을 처리하세요.

3. 보안 고려사항

Parse는 파일 업로드를 제어하는 구성을 제공합니다:

JSON


이 설정을 조정하여 보안 요구 사항에 맞추고, 신뢰할 수 있는 사용자만 민감한 파일을 저장하고 접근할 수 있도록 하세요.

7단계 – 이메일 인증 및 비밀번호 재설정

1. 개요

Django의 관리 인터페이스는 많은 작업을 처리하지만, Parse 기반 백엔드에서는 이메일 인증 및 비밀번호 재설정을 활성화할 수 있습니다. 이는 실제 사용자를 확인하고 원활한 계정 복구 경로를 제공하는 데 중요합니다.

2. 대시보드 구성

  1. Back4App 앱 열기
  2. 이메일 인증 활성화 in 앱 설정 > 이메일 설정
  3. 브랜딩에 맞게 이메일 템플릿을 사용자 정의하세요.

3. 코드/구현

Django 앱에서 비밀번호 재설정 양식을 제공할 수 있습니다. 사용자가 재설정을 요청하면 Parse의 비밀번호 재설정 엔드포인트를 호출하거나 SDK에서 지원되는 경우 적절한 Python 메서드를 호출하세요.

8단계 – 클라우드 작업으로 작업 예약하기

1. 클라우드 작업의 기능

클라우드 작업은 오래된 데이터를 정리하거나 보고서를 생성하는 등의 자동화된 작업을 실행할 수 있게 해줍니다. 이는 Django의 crontab 또는 celery 워크플로우를 보완하여 Back4App의 환경에서 작업을 중앙 집중화합니다.

2. 예시

JS


배포 후, Back4App 대시보드에서 서버 설정 > 백그라운드 작업에서 매일 또는 매주 실행되도록 예약하세요.

9단계 – 웹훅 통합하기

1. 정의

웹훅은 Back4App 클래스에서 특정 이벤트가 발생할 때 외부 서비스에 HTTP 요청을 보낼 수 있게 해줍니다. 예를 들어, 새 레코드가 생성될 때마다 Slack 채널이나 결제 서비스에 알릴 수 있습니다.

2. 구성

  1. 대시보드에서 더보기 > 웹훅으로 이동합니다.
  2. 외부 엔드포인트를 설정합니다 (예: Django 프로젝트의 URL).
  3. 트리거를 정의합니다 (예: Todo에서 “객체 생성됨”).
웹훅 추가하기
웹훅 추가하기


3. 예시

새 Todo가 생성될 때마다 POST 요청이 Django 앱의 엔드포인트로 전송됩니다. Django에서는 JSON 데이터를 파싱하고 처리합니다 (예: 로깅 또는 추가 처리).

10단계 – Back4App 관리 패널 탐색

1. 어디서 찾을 수 있나요?

Back4App Admin App”은 More > Admin App 아래의 콘솔에 있습니다. 코드를 작성하지 않고 데이터를 관리할 수 있는 모델 중심의 인터페이스입니다.

관리 앱 활성화
관리 앱 활성화


2. 기능

  • 데이터베이스: 레코드를 빠르게 보고, 편집하거나 삭제합니다.
  • 로그: 오류 또는 프로세스 로그를 모니터링합니다.
  • 백그라운드 작업: 클라우드 작업 일정을 관리합니다.
  • 분석 및 푸시: 앱과 관련이 있는 경우 푸시 알림 및 분석 데이터에 접근합니다.

이는 Django의 “관리 인터페이스”와 유사하지만, Parse 백엔드에 중점을 둡니다.

결론

이 가이드를 따라함으로써, Back4App을 사용하여 Django의 백엔드를 구축하는 방법을 배웠습니다. 당신은:

  • Django 앱을 위한 안전하고 확장 가능한 백엔드 구조를 만들었습니다.
  • 데이터 모델을 설정하고, CRUD 작업을 수행하며, 실시간 기능을 활용했습니다.
  • 높은 수준의 보안을 위해 ACL, CLP 및 사용자 인증을 구현했습니다.
  • 비즈니스 로직, 데이터 검증 및 외부 통합을 위해 Cloud Code를 사용했습니다.
  • 파일을 저장하고, Cloud Jobs를 예약하며, 고급 워크플로우를 위해 Webhooks를 구성했습니다.
  • 데이터를 효과적으로 관리하기 위해 Back4App Admin App을 탐색했습니다.

이 기반을 통해, 당신은 자신 있게 Django 프로젝트를 확장할 수 있습니다. 고급 기능을 통합하고, 성능을 최적화하며, 기업 수준의 요구 사항을 처리하기 위해 사용자 정의 로직을 추가하세요.

Parse Python SDK로 계속 실험하여 강력한 웹 애플리케이션을 제공하세요. 행복한 코딩!

다음 단계

  • 생산 준비가 완료된 Django 앱을 구축하세요 고급 캐싱, 사용자 역할 및 성능 조정을 포함하여.
  • 더 고급 Back4App 기능을 활용하세요 고급 분석 또는 역할 기반 접근 제어와 같은.
  • 공식 Back4App 문서에서 배우세요 로그, 실시간 쿼리 및 데이터 최적화에 대한 더 깊은 지식을 위해.
  • 다른 튜토리얼을 탐색하세요 Django의 강력한 “뷰와 템플릿”을 외부 API와 결합하는 방법을 확인하기 위해.