Coding343 'User' object has no attribute 'has_module_perms' 오류 해결 방법 Django에서 유저 모델을 커스텀하는 도중 에러가 발생했다.나는 조금 더 유연하게 내 입맛대로 만들고 싶어서 AbstractBaseUser를 상속받아서 작업하고 있었는데,createsuperuser로 관리자 계정을 생성하고 어드민 패널로 로그인을 진행했더니 'User' object has no attribute 'has_module_perms' 와 같은 에러가 발생했다.말 그대로 has_module_perms가 없다는 뜻이므로 해당 함수와 관련된 정보들을 유저모델에 추가해주면 된다. def get_full_name(self): pass def get_short_name(self): pass @property def is_superuser(self): return self.is_admin @propert.. 2018. 6. 29. Django Restframework JWT 토큰 인증 커스터마이징 Django의 DRF에서는 djangorestframework-jwt라는 라이브러리를 사용하면 쉽게 토큰을 사용할 수 있다.기존에는 그냥 import jwt를 통하여 작업을 했었는데 이렇게 라이브러리를 올려놓고 사용하다 보니 뭔가 헷갈렸다.편하게 사용하자고 설치한 라이브러리인데 오히려 더 불편한 느낌이랄까.내가 이해를 제대로 못하는건지 모르겠지만 개인적으로 장고 관련 자료들은 Document들이 전부다 부실한 느낌이다.오늘은 내가 겪었던 불편사항들과 그 해결 방법에 대해 적어본다.먼저 위 라이브러리를 사용하면 쉽게 토큰 발급, 토큰 재발행 등의 작업을 할 수 있다.하지만 문제점은 실제 view에서 작업할 때 해당 라이브러리들을 어떻게 엮어줘야할까 였다.라이브러리를 까보고 싶지 않았지만 어쩔수 없이 직접 .. 2018. 6. 28. Django AbstractBaseUser로 Custom user모델 만드는 방법 이전에 Custom User모델 만드는 방법에 대해서 포스팅했었는데다시 읽어보니 상당히 부실한 문서였다고 생각이 들어서 다시 한번 자세히 포스팅한다.장고는 기본적으로 인증에 관련된 유저 모델을 가지고 있다.하지만 내가 만드는 서비스와 맞지 않은 정보들을 가지고 있을 때는 굳이 그 유저 모델을 사용할 필요도 없으며 사용할 수도 없다.따라서 기존에 존재하는 모델을 상속받아서 내 입맛에 맞게 수정해줘야 한다.프록시 모델 등 여러가지가 있지만 기본적으로 AbstractUser와 AbstractBaseUser 두가지를 설명한다.AbstractUser를 사용하면 아래와 같이 어느정도 기본적으로 사용할 때 필요한 많은 정보들을 같이 준다. id / password / last_login / is_superuser /.. 2018. 6. 25. 학식봇 Django Restframework API 정리 Django의 Restframework로 학식봇 API서버를 만들었었는데,코드를 작성한지 상당히 오래 지나서 다시 한번 기억을 되살릴겸 작성한다. 보통 장고로 작업할때는 Dependency 문제를 해결하기 위해 가상환경으로 진입하여 작업한다.이 포스팅에서는 가상환경을 위해 pipenv를 사용한다. ( 설치 방법은 http://hides.kr/913 참고 )다음으로 django와 djangorestframework를 설치한다. pipenv shellpipenv install djangopipenv install djangorestframework 다음으로 프로젝트와 앱을 생성해준다.우리는 메뉴에 관한 정보와 익명게시판을 위한 정보가 필요하기 때문에 menu, board두개의 앱을 생성할 것이다. djang.. 2018. 6. 24. Node.js JWT API서버 만드는 방법 이전에는 주로 장고를 통해 API서버를 만들었다.그러다가 요즘 프론트엔드로 React.js에 재미를 붙였는데, 이왕 할거같은 스택으로 하자 싶어서 백엔드도 자바스크립트인 Node.js를 시작했다.기존에는 Django의 Rest framework를 사용했다면 노드에서는 express서버에 올리는 방법으로 진행한다.먼저 아래의 명령어로 필요한 모듈들을 설치한다. npm install —save body-parser express jsonwebtoken mysql2 sequelize 모듈들마다 사용 목적은 다음과 같다- body-parser : HTTP Body에서 값들을 빼올때 사용- jsonwebtoken : JWT 토큰을 위해 사용- sequelize : MySQL과 통신할 때 사용- mysql2 : s.. 2018. 6. 18. Node.js 자동으로 재시작하는 방법(Supervisor) 나는 PHP다음으로 백엔드를 보통 Django를 썼었다.이전 포스팅에서 작성했듯이 Django의 Rest framework를 통해 API서버를 만들었었는데요즘에는 Node.js를 공부하고 있다.(React.js도 자바스크립트이기 때문에 하나의 스택으로 통일시키기 위함이다.)무튼 코드를 실행시키고 수정하는 일이 상당히 많은데 yarn과는 다르게 node로 실행하면코드가 수정되어도 재시작이 되지 않았다.그래서 Ctrl+C를 눌러서 껐다가 다시 node ~ 를 통해 실행했는데 시간이 지날수록 상당히 불편했다.자동으로 실행시켜주는 방법이 없을까 찾아보다가 supervisor라는 패키지를 발견했다.자세한 설명은 아래 주소를 참고한다. https://www.npmjs.com/package/supervisor 먼저 .. 2018. 6. 17. 이전 1 ··· 24 25 26 27 28 29 30 ··· 58 다음