본문 바로가기

web/Django_rest_framework

1. django rest_framework 셋팅

django rest framework 첫번째 포스팅입니다. 


이번 포스팅에서는 pycharm에서 rest_framework  설정 및 앞으로 사용할 프로젝트를 셋팅에 대해서 이야기 합니다. 


- python3.4 버전을 사용하였습니다. 


해당 포스팅의 모든 소스 예제는 여기서 다운하실수 있습니다. 

https://github.com/uiandwe/django_rest_api/tree/d6900aa4ad2622487f6f7dc95b25760203b0a99c




1. django rest framework 패키지 설치


    django로 프로젝트를 생성 후 메뉴바의 file -> settings 클릭!


    메뉴 중에서 project -> project interpreter 클릭! 을 하면 현재 설치된 패키지들을 볼수 있습니다.

   

    녹색으로 된 + 버튼을 클릭해 줍니다.  ( os에 따라 위치가 다르게 표기될수 있습니다. 저의 경우 오른쪽 상단에 있네요.)






2. Avaliable Packages 창이 뜹니다. 검색 창에 djangorestFramework 를 타이핑 후 install 클릭!!

    - 혹시 IDE를 다른걸 사용하시거나 콘솔로 작업하신다면 $ pip install djangorestFramework  하시면 됩니다. 




3. 하단의 터미널을 클릭하여 (혹은 터미널 창을 하나 열어서 해당 프로젝트가 있는 곳으로 이동합니다. )

    

    $ python3 manage.py startapp post


    app을 추가해 줍니다. django의 경우 기본 프로젝트 하위 단위를 app으로 표기합니다. (패키지로 생각하시면 됩니다.)


    앞으로 post에 대부분의 기능을 구현할 예정입니다. 





4. post/models.py 에 아래의 소스를 넣어줍니다. 



   post 테이블에 대한 설정으로 글쓴이 , 제목, 본문 생성일을 디비로 쓸것입니다.


   (참고로 디비는 디폴트인 sqllite3를 쓸것입니다. 다른 디비를 원하시면 디비 셋팅 부분만 설정해 주시면 됩니다.)


from django.conf import settings
from django.db import models


class Post(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, default=1)
title = models.CharField(max_length=120)
content = models.TextField()
draft = models.BooleanField(default=False)
created_at = models.DateTimeField(auto_now=True, auto_now_add=False)

def __unicode__(self):
return self.title

def __str__(self):
return self.title



5.  settings.py 의 INSTALLED_APPS = [] 에 사용할 app을 지정해 줘야 사용이 가능합니다.

우리가 생성한 app인 post 와 설치한 rest_framework 를 넣어줍니다.






6.  마지막으로 데이터 베이스를 적용해야 합니다. 

3번에서 테이블을 정의 했던 것을 migrate 을 통해서 디비에 적용합니다. (ORM이라 이런건 편합니다.)


$pthon3 manage.py migrate







첫번째 포스팅인 셋팅 부분은 이것으로 끝입니다. 생각보다 쉽죠?!

앞으로 rest framework 를 본격적으로 구축하는 포스팅이 기다리고 있습니다!!



'web > Django_rest_framework' 카테고리의 다른 글

6 저장/수정시 유저 저장  (0) 2016.07.27
5. create  (0) 2016.07.27
4 update delete  (0) 2016.07.25
3 get detail 구현  (0) 2016.07.25
2. get method 구현  (0) 2016.07.25