Coding343 Django+Nginx CORS 문제 해결 방법 기존에 만들어뒀던 학식봇 API를 사용하여 웹으로도 접근 가능하게 만들고 있었다.React.js를 사용하여 코드를 짜고 있었기 때문에 fetch()를 통해 웹에 접근해야 하는데당연하게도 CORS(Cross Origin Resource Sharing) 문제가 발생했다.CORS는 쉽게 말해서 같은 도메인으로만 접근이 가능하도록 하는 Security Policy라고 보면 된다.그래서 찾아보던 도중 fetch의 인자에 {mode: 'no-cors'} 를 같이 넘겨주면 된다고 나와있어서테스트해봤는데 뭔가 제대로 오지 않았다. (status도 false로 나옴)더 찾아보니까 Django에서 설정하면 될 것 같다.현재 내 API서버는 Django Restframework로 구성되어 있으며 Nginx를 통해 배포되고 .. 2018. 6. 5. VSCode sFTP 연동하는 방법 그동안 만들어놓고 방치해두었던 학식봇을 한번 갈아엎는 일이 생겼다.장고를 처음 접할 때 만들었던 소스라 지저분하기도 하고 그냥 API서버 형태로 만들어두는게나중에 확장성에서도 좋다는 판단을 하여 Django의 Rest framework를 사용하여 바꿔줬다.서버에 직접 파일을 올려두고 sftp로 붙어서 작업하는 방식으로 했는데VSCode의 sFTP관련 확장 프로그램을 사용하면 로컬에서 작업하고 저장하는 즉시서버의 파일로 반영이 된다. 사실상 로컬에서 작업하고 구동하는 것과 체감상 차이가 거의 없다고 볼 수 있다.먼저 VSCode를 실행시킨다. 왼쪽에 빨간색 네모박스로 표시해놓은 아이콘을 클릭한 이후sftp를 검색하여 최상단에 있는 확장프로그램을 설치한다.그다음 F1을 누르고 sftp를 입력한다. SFTP:.. 2018. 6. 3. React.js SASS 설치하는 방법 오늘은 CSS를 좀 더 편하게 사용할 수 있는 방법에 대해 소개하겠다.기존에 CSS를 작성할 때 코드가 길어지면 가독성이 크게 떨어지는 경험을다들 한두번쯤을 해봤을 것이다.예를 들어 아래와 같은 코드가 있다고 가정한다. (출처 : velopert님 블로그) .App { ... } .App .header { ... } .App .logo { ... } .App .intro { ... }이런 경우 SASS를 사용하면 아래와 같이 사용할 수 있다. .App {.header { ... }.logo { ... }.intro { ... }} 한눈에 봐도 코드 작성도 보다 쉽게 할 수 있고 가독성도 좋아진다.인터넷을 찾아보니 대부분의 예제들은 create-react-app이후 eject를 하여 무언가 작업을 했는데나.. 2018. 6. 2. React Router Nginx 문제해결 방법 React.js를 이용하여 포트폴리오 사이트를 제작했다.기존에 서버를 구동시키기 위해서 yarn start 명령어를 사용했었는데 해당 명령어는개발 서버에서 사용하는 것이고 실제 서버로 배포하기 위해서는 Deploy작업을 따로 해줘야 한다.나는 기존에 사용하던 서버에 Nginx가 설치되어 있었고 해당 서버에 배포하기로 했다.yarn build를 통해 나온 결과물을 웹 서버 폴더로 옮겼더니 정상적으로 작동한다.하지만 문제점이 하나 있었는데 나는 라우팅을 위해 react-router-dom을 사용하고 있었다.써드파티 모듈이지만 정말 많은 사용자들이 사용하고 있을 정도로 유명한 라우팅 모듈이다.문제점은 /home /about 등으로 접근을 할 경우 nginx에서 해당 파일을 찾으려고 하는 것이다.이 부분은 가상.. 2018. 5. 15. Django JWT 토큰인증 정리 범위 : #1-70 Setting up JWT 보통 어플리케이션을 이용하여 인증을 진행할때는 세션을 사용하지 않는다.그보다 Token을 이용하여 진행하는게 더 편리하고 적합하기 때문이다.여러가지 방법이 있지만 JWT(Json Web Token)라는 편리한 방법이 있다.먼저 아래의 명령어를 통해 설치해준다. pipenv install djangorestframework-jwt위 명령어를 통해 설치를 진행하고 위처럼 설치가 진행된다.이제 JWT를 사용하겠다는 설정을 해줘야한다.settings.py를 열고 아래의 내용을 추가한다. REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAuthenticated', ), '.. 2018. 5. 1. Django Change Password 정리 장고에서 유저를 관리하다보면 패스워드를 변경해야하는 경우가 생긴다.이런 경우를 위해 장고에서는 check_password()와 new_password() 라는 함수를 제공한다.먼저 입력값 중 current_password와 new_password는 변수명을 통해 진행한다고 가정한다. user = request.user current_password = request.data.get('current_password', None) if current_password is not None: passwords_match = user.check_password(current_password) 먼저 current_password에 입력값 중 current_password라는 변수명의 값을 담는다.그리고 해당 값이 .. 2018. 4. 30. 이전 1 ··· 25 26 27 28 29 30 31 ··· 58 다음