본문 바로가기

Coding/Python113

Django Restframework 특정 컬럼만 출력하는 방법 Django Restframework Dynamically return subset column/specific fields리액트 네이티브 공부 겸 학교 관련 어플을 만들고 있다.그 과정에서 기존에 카카오톡 플러스친구로 만들어두었던 학식봇의 기능을 넣고 있는데뒷단 API서버로 Django Restframework를 사용하고 있다.학식 메뉴를 관리하는 테이블을 하나 만들었는데 그 구조는 아래와 같다. 2학, 3학, 상록회관, 생과대, 기숙사의 식단을 알려줘야 하므로 place에 장소를 담고 요일별로 식단 정보를 담아줬다.여기서 하나 문제가 발생했는데 나는 단 한번의 요청으로 각 요일별 모든 장소의 식단을 뽑아보고 싶었다.단순 MySQL 쿼리라면 SELECT mon FROM menu 이런식으로 뽑아주면 되는.. 2018. 2. 15.
Django Rest framework 다른 테이블 Join 시키는 방법 (Django rest framework table join)요즘 Django Rest framework로 API서버를 구축하고 있다.리액트 네이티브로 어플을 제작하는 중이라 해당 어플에서 사용하기 위함인데구축하다보니 몇몇가지 막히는 사항들이 생겼다.그 중 하나가 오늘 포스팅 할 Join 관련 이슈이다.예를 들어 아래와 같은 테이블이 있다고 가정한다. [user]- userkey(Primary key)- username [article]-articleNo(Primary key)- userkey(FK to user)- content 게시판 형태로 뭔가를 구성하고 있는데 article테이블에서 자료를 가져온 후페이지에 랜더링해줘야 한다.user테이블에 username(내 어플에선 닉네임이다)이 존재하므로 굳.. 2018. 2. 6.
Django 외래키(Foreign key) 생성 방법/관련 이슈 장고로 데이터베이스 테이블을 생성하던 중 몇가지 이슈를 발견했다.먼저 테이블 생성을 하려면 models.py 파일에 class로 선언해줘야 한다.(데이터베이스는 MySQL을 사용함) class user(models.Model):userkey = models.CharField(primary_key=True, max_length=20)username = models.CharField(max_length=30) class article(models.Model):articleNo = models.IntegerField(primary_key=True)userkey = models.ForeignKey('user', on_delete=models.CASCADE, db_column='userkey')content = .. 2018. 2. 5.
Python3 requests SSL 오류 해결 방법 Python3 requests 라이브러리를 통해 HTTPS 웹페이지와 통신을 하던 도중 아래와 같은 에러를 만났다. Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 595, in urlopen self._prepare_proxy(conn) File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 816, in _prepare_proxy conn.connect() File "/usr/local/lib/python3.6/site-packages/urllib3/connectio.. 2018. 2. 3.
장고(Django) Restframework 인증 권한 설정 방법 http://www.hides.kr/805 에 이어서 작성한다.지난 포스팅에서는 Django의 Rest Framework를 사용해서 기본적인 Restful API를 만들었다.오늘은 권한에 따라 이용할 수 있는 API기능을 제한하는 방법을 포스팅한다.예를 들어 읽는 권한은 모든 유저에게 주어도 상관없지만새로운 데이터를 추가, 수정 또는 삭제하는 권한은 관리자만 가능하도록 제한해야 한다.Rest Framework에서는 이러한 인증 권한 설정도 쉽게 할 수 있다.먼저 settings.py를 열고 아래의 코드를 추가한다. REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES':( 'rest_framework.permissions.IsAuthenticatedOrReadOnly', ).. 2018. 1. 10.
장고(Django) Restframework로 REST API 만드는 방법 장고(Django)를 사용해 REST API 만드는 방법에 대해 포스팅한다.Restframework를 사용하면 쉽게 만들 수 있다.최종 목표는 게시글 목록을 불러오고 삽입, 수정, 삭제까지 가능한 API를 구현하는 것이다.먼저 아래의 폴더를 하나 생성하고 해당 폴더에 가상 환경을 구축한다. mkdir restpython3 -m venv envsource env/bin/activate 그럼 위와 같이 맨 앞에 (env) 라는 게 생긴다. 가상 환경이라는 뜻이다.다음으로 django와 restframework를 설치해준다.현재 Django 최신버전은 2.0이지만 기존에 사용하던 1.11.6 버전을 설치할 것이다.그리고 Django는 기본적으로 데이터베이스로 Sqlite를 사용하지만나는 MySQL이 더 익숙하.. 2018. 1. 9.