본문 바로가기
파이썬(Python)/장고(Django)

파이썬 Django를 사용해서 Rest API 통신할 수 있는 서버 만들기 - 1

by 기계공학 주인장 2023. 11. 30.
반응형

휴대폰 앱을 개발하다 보면 API 통신만 할 수 있는 서버가 있으면 좋겠는데...라는 생각을 자주 했습니다.

 

왜냐하면 웹페이지는 필요 없지만 다른 유저들이 사용할 수 있는 서버는 필요하거든요 ㅠㅠ

 

Django를 사용해서 휴대폰 앱과 API 통신만 할 수 있는 서버를 만들어 보겠습니다.

 

빠른 설명을 위해 Django의 설치 방법 등은 생략하고 앱을 만드는 방법만 설명하겠습니다.

 

파이썬 Django를 사용해서 Rest API 통신할 수 있는 서버 만들기의 첫 번째 단계로 다음과 같은 것들을 알려드리겠습니다.

  • 새로운 파이썬 Django 프로젝트 생성하기
  • 생성한 Django 프로젝트 실행해 보기
  • Django 프로젝트에 새로운 앱 만들기
  • 관리자 계정 생성하기
  • Djago에서 Model 생성하기

새로운 파이썬 Django 프로젝트 생성하기

정상적으로 파이썬과 Django의 설치가 끝났다면 

 

터미널 or 명령 프롬프트를 사용하여

 

다음과 같은 커맨드를 사용하여 Django 프로젝트를 생성할 수 있습니다.

 

Django-admin startproject [프로젝트 이름]

 

위와 같이 입력했다면 해당 위치에 해당 이름으로 Django 프로젝트가 만들어져 있는 것을 확인할 수 있습니다.


생성한 Django 프로젝트 실행해 보기

 

정상적으로 프로젝트가 만들어졌다면 터미널의 위치를 해당 프로젝트의 루트 디렉터리로 이동한 다음

 

다음과 같은 커맨드를 입력합니다.

 

python manage.py runserver

 

runserver 뒤에 IP 및 포트를 지정할 수 있지만 생략하면 디폴트 값으로 서버를 실행해 줍니다.

 

그럼 다음과 같은 결과가 나온 것을 볼 수 있습니다.

 

 

이제 인터넷 브라우저를 열고 해당 주소를 입력해 보면

 

다음과 같은 창이 뜨는 것을 확인할 수 있습니다.

 

 

여기까지 성공했다면 파이썬 및 Django가 정상적으로 설치된 것입니다.


Django 프로젝트에 새로운 앱 만들기

다음과 같은 커맨드로 현재 Django 프로젝트에 새로운 앱을 만들 수 있습니다.

 

python manage.py startapp [앱 이름]

 

앱을 생성하였다면 다음과 같은 폴더가 만들어져 있는 것을 확인할 수 있습니다.

 

(참고로 저는 "watchlist_app"이라는 이름으로 앱을 만들었습니다.)

 

 

그리고 해당 앱을 현재 Django 프로젝트에 등록해야 합니다.

 

현재 프로젝트의 이름과 동일한 폴더를 찾습니다. (루트 디렉터리에 있습니다.)

 

그리고 해당 폴더 안의 settings.py를 엽니다.

 

 

그리고 프로젝트를 다시 실행해서 제대로 실행되는지 확인합니다.

 

python manage.py runserver

 


관리자 계정 생성하기

Django에서는 기본적으로 관리자 페이지를 지원합니다.

 

다음과 같은 커맨드로 관리자 계정을 생성할 수 있습니다.

 

python manage.py createsuperuser

 

 

Email addres는 그냥 Enter를 누를 경우 생략할 수 있습니다.

 

그리고 Django를 실행한 뒤 URL의 제일 뒤에 /admin을 적으면 관리자 페이지로 접속할 수 있습니다.

 

예를 들면

http://127.0.0.1:8000/admin/

 

그리고 위에서 생성한 관리자 계정을 입력하면 다음과 같은 화면을 볼 수 있습니다.

 


Djago에서 Model 생성하기

 

Django에서 Model은 데이터 베이스를 파이썬 코드로 표현한 것입니다.

 

간단하게 말하자면 데이터 베이스라고 봐도 무방하다고 생각합니다.

 

Django에서 Model을 생성하는 방법은 다음과 같습니다.

 

먼저 방금 생성한 앱 폴더를 열어서 models.py를 찾아서 들어갑니다.

 

 

그리고 다음과 같이 코드를 적습니다.

 

from django.db import models


class Movie(models.Model):
	# 다음과 같은 저장 목록(=SQL에서 생각하면 Column 같은 애들)을 생성하도록 한다.
    name = models.CharField(max_length=50)
    description = models.TextField(max_length=200)
    active = models.BooleanField(default=True)

	# 해당 이름을 반환하는 함수 생성
    def __str__(self):
        return self.name

 

그리고 같은 폴더에 admin.py에 들어가서 다음과 같이 입력합니다.

(import 부분에 주의합니다.)

from django.contrib import admin
from watchlist_app.models import Movie

# Register your models here.
admin.site.register(Movie)

 

관리자 페이지에 방금 추가한 model을 관리할 수 있게 해 준다는 의미입니다.

 

이제 데이터 베이스를 migrate 해야 하는데 방법은 다음과 같습니다.

 

(참고로 migrate란, 각종 변경 사항을 Django 프로젝트에 알려주는 행위입니다.)

 

터미널에 다음과 같이 입력합니다.

 

python manage.py makemigrations

 

 

그리고 다음과 같이 입력합니다.

 

python manage.py migrate

 

그리고 앱을 다시 실행하여 관리자 페이지를 열면 다음과 같은 Model이 추가된 것을 확인할 수 있습니다.

 


 

파이썬 Django를 사용해서 Rest API 통신할 수 있는 서버 만들기 - 2 편에서 이어서 하겠습니다

 

 

파이썬 Django를 사용해서 Rest API 통신 서버 만들기 - 2

1편에서는 파이썬 Django를 사용하여 데이터를 저장해 놓을 Model을 만드는 방법에 대해 알아봤습니다. 이어서 이번에는 지난번에 생성한 모델에 데이터를 넣고 해당 데이터를 JSON 형태의 데이터로

android-developer.tistory.com

 

반응형


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."


댓글