-
Django를 이용한 Rest API 서버 구축
Django를 이용해 Restful한 API 서버를 구축하는 방법을 익혀본다. Ubuntu 16.04-64-server Python 3.5.2 Django 2.0.5 django-rest-swagger 2.2.0 환경 세팅 파이썬 버전을 확인해 준다. 파이썬 3.x 버전이 없다면 설치해준다. $ python --version $ python3 --version 이어서 가상환경을 세팅해주기 위해 virtualenv를 설치해준다. $ apt-get install virtualenv virtualenv 설치가 완료되었다면 학습을 위한 가상환경을 생성한다. $ virtualenv -p python3 rest_env 가상환경이 생성완료 되면, 가상환경을 activate 시켜준다. 정상적으로 가동되었다면 터미널 입력창 앞에 (rest_env)가 붙어있을 것이다. $ source ~/rest_env/bin/activate 이어서 필요한 Django...
-
카카오톡 자동응답 API로 학식봇 구현
카카오톡의 옐로아이디 자동응답 API로 동국대학교 학생식당의 메뉴를 알려주는 봇을 구현해보았다. Python3와 Django를 이용했으며, Mac OS X를 기반으로 작성했다. 구현된 모습 위의 사진과 같이 동국대학식봇을 친구로 추가하고, 대화창에서 해당 식당의 버튼을 클릭하면 메뉴를 출력해주는 방식으로 구현했다. 시작 및 키보드 구현하기 우선 시작을 하기 위해선 옐로아이디 등록과 카카오 앱 등록이 필요한데, 이는 다른 블로그에도 많이 나와있으므로 생략한다. 카카오 옐로아이디 앱을 등록하고, API형 자동응답을 하기 위해서는 일단 기본적으로 카카오 API중에서 https://your_server_url/keyboard/요청에 알맞게 반응하도록 해야한다. 이제부터 Python과 Django를 이용해...
-
Django Class-based View
Django에는 Class-based view라는 강력한 기능이 있는데, 이를 공부 하기 위해 Documentation을 번역해본다. Class-based view는 view를 Python의 function 대신 object의 형태로 상속받을 수 있는 방법을 제시한다. 이것은 function-based view를 대체하는 것이 아니지만, function-based view와 비교했을 때 확실한 차이점과 이점이 존재한다. 특정 HTTP 메소드(GET,POST,etc)와 관련된 코드들을 조건을 이용해 분기처리 하는 대신 메소드의 형태로 사용할 수 있다. Mixin(다중상속)과 같은 객체지향 테크닉을 활용해 재사용가능한 컴포넌트의 형태로 코드를 짤 수 있다. Generic views, class-based views, class-based generic view의 관계와 역사...
-
Django fixture json파일 만들고 불러오기
app의 post데이터를 fixture로 만들기 >>> python manage.py dumpdata app.Post --indent 4 > post.json --indent 옵션을 이용하면 생성된 json파일이 좀 더 깔끔하게 출력된 것을 확인할 수 있다. (생략도 가능하다.) post.json 픽스쳐를 DB로 불러오기 >>> python manage.py loaddata post.json 위 명령어를 사용하면 해당 json파일을 DB로 불러올 수 있다.