퀵스타터즈

Flask용 백엔드 구축 방법?

40min

소개

이 튜토리얼에서는 Flask의 백엔드를 구축하는 방법을 배웁니다.

Flask는 HTTP 요청을 쉽게 처리하는 경량 백엔드 프레임워크로, 개발 중에는 디버그 모드에서 효율적으로 작동합니다.

우리는 데이터베이스 관리, 클라우드 코드 함수, REST 및 GraphQL API, 사용자 인증, 실시간 쿼리(라이브 쿼리)와 같은 필수 Back4App 기능을 통합하여 Flask 애플리케이션을 위한 안전하고 확장 가능하며 강력한 백엔드를 만드는 방법을 안내할 것입니다.

또한 Back4App의 빠른 설정과 직관적인 환경이 서버와 데이터베이스를 수동으로 구성하는 것에 비해 시간과 노력을 크게 줄일 수 있는 방법을 확인할 수 있습니다.

우리는 Python 코드를 사용하여 Flask를 Back4App Parse 서버에 연결할 것입니다. 그 과정에서 고급 보안 기능, 클라우드 작업으로 작업 예약, 외부 통합을 위한 웹훅 설정 등 주요 기능에 대한 실습 경험을 쌓게 됩니다.

이 튜토리얼이 끝나면, 이 기본 설정을 프로덕션 준비 애플리케이션으로 향상시키거나 필요에 따라 사용자 정의 논리 및 타사 API를 쉽게 통합할 수 있는 준비가 잘 되어 있을 것입니다.

전제 조건

이 튜토리얼을 완료하려면 다음이 필요합니다:

  • Back4app 계정과 새로운 Back4app 프로젝트 Back4app 시작하기. 계정이 없으시면 무료로 생성할 수 있습니다. 위의 가이드를 따라 프로젝트를 준비하세요.
  • 기본 Flask 개발 환경 Flask는 pip install flask.를 통해 설치할 수 있습니다. 머신에 Python 3.7+가 설치되어 있는지 확인하세요.
  • pip install parse 이 Python 패키지는 Flask 앱이 Back4App의 Parse Server와 상호작용할 수 있게 해줍니다.
  • Python 및 Flask 개념에 대한 이해 Flask 공식 문서. Flask가 처음이라면 시작하기 전에 공식 문서나 초보자 튜토리얼을 검토하세요.

시작하기 전에 이러한 모든 전제 조건이 준비되어 있는지 확인하세요. Back4app 프로젝트가 설정되고 로컬 Flask 환경이 준비되어 있으면 더 쉽게 따라할 수 있습니다.

1단계 – Back4App에서 새 프로젝트 만들기 및 연결

새 프로젝트 만들기

Back4App에서 Flask 백엔드를 구축하는 첫 번째 단계는 새 프로젝트를 만드는 것입니다. 아직 만들지 않았다면 다음 단계를 따르세요:

  1. Back4App 계정에 로그인하세요.
  2. Back4App 대시보드에서 “새 앱” 버튼을 클릭하세요.
  3. 앱에 이름을 지정하세요 (예: “Flask-Backend-Tutorial”).
Document image


프로젝트가 생성되면 Back4app 대시보드에 나열된 것을 볼 수 있습니다. 이 프로젝트는 모든 백엔드 구성의 기초입니다.

Flask에 Parse SDK 연결하기

Back4App은 데이터 관리, 실시간 기능 제공, 사용자 인증 처리 등을 위해 Parse 플랫폼에 의존합니다.

Flask 애플리케이션을 Back4App에 연결하려면 parse Python 패키지를 설치하고 Back4App 대시보드의 자격 증명으로 초기화해야 합니다.

Parse 키 가져오기: Back4App 대시보드에서 앱의 “앱 설정” 또는 “보안 및 키” 섹션으로 이동하여 애플리케이션 ID클라이언트 키 (필요한 경우 REST API 키도 포함됨)을 찾습니다. 또한 Parse 서버 URL을 찾을 수 있습니다 (종종 https://parseapi.back4app.com) 형식으로 제공됩니다.

Document image


Flask 환경에 Parse Python SDK 설치하기를 위해 다음 명령어를 실행하세요:

Bash


Flask 애플리케이션에서 Parse 초기화하기: 파일을 생성하세요 (예: parse_config.py) app이라는 디렉토리 또는 백엔드 모듈을 저장하는 곳에:

parse_config.py


그런 다음, 주요 Flask 앱 파일(예: app.py )에서 import flask app flask 모듈과 함께 Parse 구성을 가져올 수 있습니다:

Python


이 단계를 완료함으로써, Flask 프론트엔드 경로와 Back4App 백엔드 간의 안전한 연결을 설정했습니다. 모든 요청 및 데이터 거래는 Parse Python 코드를 통해 안전하게 라우팅되어 수동 REST 또는 GraphQL 호출의 복잡성을 줄입니다(필요할 때 여전히 사용할 수 있습니다).

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

데이터 모델 만들기

시작하기 전에 데이터베이스 설정에 대해 이야기해 보겠습니다. Back4App 대시보드에서 데이터 스키마를 설계하거나 Parse가 즉석에서 생성하도록 할 수 있습니다. 예를 들어, titleisCompleted과 같은 필드를 가진 “Todo”라는 클래스를 만들 수 있습니다.

  1. Back4App 대시보드에서 “데이터베이스” 섹션으로 이동합니다.
  2. 새 클래스를 만듭니다. (예: “Todo”) 및 제목(String) 및 isCompleted(Boolean)과 같은 관련 열을 추가합니다.
새 클래스 만들기
새 클래스 만들기


Back4app은 String, Number, Boolean, Object, Date, File, Pointer, Array, Relation, GeoPoint, 및 Polygon. 각 필드에 적합한 유형을 선택할 수 있습니다.

AI 에이전트를 사용하여 데이터 모델 만들기

자동화된 접근 방식을 선호하는 경우 Back4app의 AI 에이전트를 사용할 수도 있습니다:

  1. AI 에이전트 열기 앱 대시보드에서.
  2. 데이터 모델 설명하기 간단한 언어로 (예: “Back4app에서 제목 및 isCompleted 필드가 있는 ToDo 클래스를 만듭니다.”).
  3. AI 에이전트가 스키마를 생성하도록 하세요.
Document image


SDK를 사용하여 데이터 읽기 및 쓰기

Flask에서 parse를 가져와서 데이터 생성 및 가져오기를 할 수 있습니다 parse_config.py 초기화에서:

Python


이 Flask 앱 파일 http 요청을 처리합니다 Back4App 데이터베이스에서 Todo 항목을 생성하고 읽습니다.

REST API를 사용한 데이터 읽기 및 쓰기

직접 REST 호출을 선호하는 경우 curl을 사용하여 명령줄에서 테스트할 수 있습니다:

Bash


GraphQL API를 사용한 데이터 읽기 및 쓰기

마찬가지로, Back4app은 GraphQL 엔드포인트를 제공합니다. 예를 들어:

GraphQL


라이브 쿼리 작업하기 (선택 사항)

필요한 경우 실시간 업데이트, Back4app은 라이브 쿼리. Flask 시나리오에서는 일반적으로 Back4App의 라이브 쿼리 서버에 웹소켓 연결을 유지할 수 있는 별도의 클라이언트 측 또는 서버 측 구독 라이브러리를 사용합니다.

  1. 라이브 쿼리 활성화는 앱의 서버 설정에서 Back4app 대시보드에서 설정합니다.
  2. Parse 라이브 쿼리 클라이언트 사용wss://YOUR_SUBDOMAIN_HERE.b4a.io에 연결하고 생성/업데이트/삭제 이벤트를 수신합니다.

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

간략한 개요

Back4app은 액세스 제어 목록 (ACL)클래스 수준 권한 (CLP)을 제공하여 데이터를 잠급니다. ACL은 개별 객체에 적용되고, CLP는 전체 클래스에 적용됩니다. 이를 통해 사용자, 역할 또는 공개에 따라 읽기/쓰기 작업을 제한하거나 허용할 수 있습니다.

Document image


클래스 수준 권한 설정하기

  1. Back4app 대시보드로 이동, 앱을 선택하고 데이터베이스 섹션을 엽니다.
  2. 클래스 선택 (예: “Todo”).
  3. 클래스 수준 권한 탭을 엽니다.
  4. “인증 필요” 또는 “접근 불가”와 같은 기본값을 구성합니다.

코드에서 ACL 구성하기

Python 코드에서 ACL을 적용할 수 있습니다:

Python


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

클라우드 코드의 이유

클라우드 코드는 python 코드 (또는 다른 시나리오에서 JavaScript) 서버 측에서 실행하기에 완벽하여, 자체 인프라를 호스팅할 필요가 없습니다. 데이터 유효성 검사, 복잡한 계산 수행 또는 Parse 서버에서 외부 서비스와 직접 통합하는 작업을 실행할 수 있습니다.

예제 함수

Back4App의 기본 Cloud Code 환경이 Node.js를 사용하기 때문에 Cloud Code는 JavaScript로 작성해야 합니다. 그러나 Flask 앱에서 이러한 서버 측 스크립트를 여전히 트리거할 수 있습니다. 예를 들어, Node.js Cloud Function은 다음과 같을 수 있습니다:

main.js


배포

Cloud Code를 배포하려면 Back4app CLI를 사용하세요:

Bash


또는 Back4app 대시보드를 통해 JS 코드를 Cloud Code > Functions에 붙여넣고 “배포”를 클릭하여 배포할 수 있습니다.

Document image


함수 호출하기

Flask에서는 REST를 사용하여 해당 클라우드 함수를 호출할 수 있습니다:

Python


5단계 – 인증 구성

Back4App 대시보드에서 사용자 인증을 활성화하거나 설정합니다.

Back4App은 기본적으로 User 클래스를 활용합니다. Parse는 비밀번호 해싱, 세션 토큰 및 안전한 저장을 처리합니다. 이러한 기능은 App Settings에서 관리할 수 있습니다.

코드 샘플

Python


소셜 로그인

Back4App과 Parse는 Google, Apple 또는 Facebook과 같은 소셜 제공업체와 통합할 수 있습니다. 설정 세부정보는 다르므로 공식 문서를 참조하십시오.Parse 소셜 로그인 문서.

6단계 – 파일 저장 처리

파일 저장 설정

Flask에서 Parse 데이터베이스에 파일을 업로드하려면 parse.File() 객체를 Node 기반 환경에서 생성하거나 Python에서 직접 REST 호출을 사용할 수 있습니다. 이러한 파일에 대한 참조를 클래스에 저장하면 쉽게 검색할 수 있습니다.

Python


예시

파일을 업로드한 후, 데이터베이스에 저장할 수 있는 파일 URL을 받게 됩니다. 그런 다음 필요에 따라 html 템플릿에서 해당 파일을 렌더링하거나 참조할 수 있습니다.

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

개요

이메일 인증은 유효한 이메일 주소를 보장하고, 비밀번호 재설정은 사용자가 안전하게 계정에 접근할 수 있도록 돕습니다.

Back4App 대시보드 구성

  1. Back4App 대시보드에서 이메일 설정으로 이동합니다.
  2. 이메일 인증을 활성화하고 이메일 템플릿을 구성합니다.
  3. 비밀번호 재설정을 활성화하여 사용자 이메일로 비밀번호 복구 링크를 보냅니다.

코드/구현

활성화되면 이메일로 가입하는 모든 신규 사용자는 인증 링크를 받게 됩니다. 비밀번호 재설정의 경우, REST를 통해 또는 Flask 경로에서 Parse의 내장 메서드를 호출할 수 있습니다.

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

클라우드 작업의 기능

클라우드 작업을 사용하면 데이터 정리 또는 주기적인 이메일 전송과 같은 백그라운드 작업을 예약할 수 있습니다. 예를 들어, 사용자 개입 없이 매일 오래된 기록을 삭제할 수 있습니다.

예시

JS


그런 다음 Back4App 대시보드에서:

  1. 앱 설정으로 이동 > 서버 설정 > 백그라운드 작업.
  2. 이 작업을 매일 또는 원하는 간격으로 실행되도록 예약
클라우드 작업 예약
클라우드 작업 예약


9단계 – 웹훅 통합

정의

웹훅은 특정 트리거가 발생할 때마다 Back4app 앱이 외부 서비스에 데이터를 전송할 수 있게 해줍니다. 이는 결제 게이트웨이, 슬랙, 분석 또는 기타 제3자 서비스와의 통합에 유용합니다.

구성

  1. 웹훅 구성으로 이동 하여 Back4App 대시보드 > 더보기 > 웹훅.
  2. 새 웹훅 추가.
  3. 트리거 선택 웹훅이 작동할 트리거.
웹훅 추가
웹훅 추가


예시

“Todo”에 새 레코드가 생성될 때마다 슬랙 채널에 알림을 보내고 싶다면, 슬랙 웹훅 URL을 설정하세요. 그런 다음, 새 Todo가 저장될 때마다 슬랙은 해당 세부 정보를 포함한 POST 요청을 받게 됩니다.

10단계 – Back4App 관리 패널 탐색

Back4App 관리 앱은 팀의 비기술적 구성원들을 위한 사용자 친화적인 인터페이스를 제공합니다. 이는 CRUD 작업 및 기업 수준의 작업을 위한 모델 중심 인터페이스입니다.

어디서 찾을 수 있나요

  1. 앱 대시보드로 이동하세요.
  2. 선택하세요 더보기 > 관리자 앱을 활성화하세요.
  3. 관리자 사용자를 생성하고 패널을 호스팅할 하위 도메인을 선택하세요.
관리자 앱 활성화
관리자 앱 활성화

Document image

Document image


활성화되면, 관리자 자격 증명으로 로그인하여 데이터를 더 편리하게 관리할 수 있습니다—Python 코드에서 사용자 정의 엔드포인트나 쿼리를 작성하지 않고도.

Document image


결론

이 포괄적인 튜토리얼을 따라함으로써, 당신은:

  • 안전한 백엔드를 Back4App에서 Flask 앱을 위해 생성했습니다.
  • 데이터베이스를 구성했습니다 클래스 스키마, 데이터 유형 및 관계를 사용하여.
  • 실시간 쿼리를 통합했습니다 (라이브 쿼리) 즉각적인 데이터 업데이트를 위해.
  • 보안 조치를 적용했습니다 ACL 및 CLP를 사용하여 데이터 접근을 보호하고 관리하기 위해.
  • 클라우드 코드 기능을 구현하여 서버 측에서 사용자 정의 비즈니스 로직을 실행했습니다.
  • 사용자 인증을 설정했습니다 이메일 확인 및 비밀번호 재설정을 지원합니다.
  • 파일 업로드 및 검색을 관리했습니다 선택적 파일 보안 제어와 함께.
  • 클라우드 작업을 예약했습니다 자동화된 백그라운드 작업을 위해.
  • 웹훅을 사용했습니다 외부 서비스와 통합하기 위해.
  • Back4App 관리 패널을 탐색했습니다 데이터 관리를 위해.

튼튼한 Flask 백엔드 프레임워크가 있어 렌더 템플릿 파일을 반환할 수 있으며(원하는 경우) 강력한 Back4App 설정으로, 이제 기능이 풍부하고 확장 가능하며 안전한 애플리케이션을 개발할 수 있는 준비가 되었습니다.

이제 flask run 명령을 실행하여 개발 서버를 시작하고 코딩을 계속할 수 있습니다.

명령줄 작업은 메서드 정의 후 JSON 페이로드를 수용하는 경로로 간단해집니다.

다음 단계

  • 생산 준비가 완료된 Flask 앱 구축 이 백엔드를 확장하여 더 복잡한 데이터 모델, 캐싱 전략 및 성능 최적화를 처리합니다.
  • 고급 기능 통합 전문 인증 흐름, 역할 기반 접근 제어 또는 외부 API(결제 게이트웨이와 같은)를 포함합니다.
  • Back4app의 공식 문서 확인 고급 보안, 성능 조정 및 로그 분석에 대한 심층적인 내용을 위해.
  • 다른 튜토리얼 탐색 실시간 채팅 애플리케이션, IoT 대시보드 또는 위치 기반 서비스에 대해. 여기서 배운 기술을 서드파티 API와 결합하여 복잡한 실제 애플리케이션을 만들 수 있습니다.