BackEnd

장고 프로젝트를 다시 시작하며.. 장고에 대해서 많은 공부를 했다고 생각했고 스스로 하나의 웹 사이트를 만들 수 있을 것 같다고 생각하여 첫 프로젝트로 웹 포트폴리오 만들기를 진행하였는데 소셜로그인 기능을 구현하는 단계에서 막히면서 여러 검색을 해보니 처음 시작부터 잘못되었다는 것을 알게 되었다. 독학으로 하는 공부이다 보니 처음 방향을 잡는데도 오래 걸리고 그 방향이 잘못되었다는 것을 알아차리는데도 조금 오랜 시간이 지나서 알아차리게 되었지만 프로젝트를 진행하면서 배운 내용이 아예 쓸모없는 내용이 아니라 다시 공부하면서 조금 더 쉽게 이해하였던 것 같다. 기존에 공부를하면서 정리를 하였고 처음부터 시작하면서 기록한 내용들은 지우는 게 좋을까 라는 생각도 하였지만 기존에 공부한 내용을 바탕으로 조금 더 ..
사용자가 작성하는 게시글 현재 로그인만 되어 있으면 누구라도 게시글에 사용자의 이름을 남겨서 작성할 수 있습니다. 여기서 몇 가지 문제가 있습니다. 사용자의 이름이 겹친다면? 작성한 글을 수정하고싶은데 이름이 같다면? 위 문제들이 있어 작성한글을 사용자의 이름만으로 구별하는 것은 좋은 방법이 아닙니다. author이라는 필드를 수정해서 User모델의 pk값인 id값을 저장하도록 하면 실제로 저장된 사용자는 User모델에 저장된 사람에 한정되게 됩니다. - 마이그레이션은 아직 하지 않습니다! # bbs/models.py from django.db import models class Article(models.Model): title= models.CharField('제목', max_length=126, n..
이전 내용 [Django tutorial] 사용자 인증 - 소셜 로그인 (1) 소셜 로그인 로컬에서 회원가입과 로그인은 사용자에게 불편함을 가져다주기도 합니다. 사용자의 정보를 안전하게 관리하고 있더라도 사용자는 그것을 알 수 없기에 자기 자신의 정보를 서비 jongseoung.tistory.com 1. 네이버 로그인 믹스인 구현 NaverLoginMixin는 장고에서 제공하는 클래스가 아니라 직접 구현해야 합니다. user앱에 oauth라는 패키지를 생성하고 그 안에 providers라는 패키지를 생성합니다. providers패키지에 naver.py라는 파일을 생성 후 아래와 같이 코드를 추가합니다. # user/oauth/providers/naver.py from django.conf import s..
소셜 로그인 로컬에서 회원가입과 로그인은 사용자에게 불편함을 가져다주기도 합니다. 사용자의 정보를 안전하게 관리하고 있더라도 사용자는 그것을 알 수 없기에 자기 자신의 정보를 서비스에 저장하는 것을 부담을 느낄 수 있습니다. 모바일 접속 유저의 경우 이메일 주소하나만 입력하더라도 피곤하다고 느낄 것이고 오타로 인한 불편함도 받을수 있습니다. 인증이 반드시 필요한 서비스라면 이메일 기반의 로컬인증 시스템만 제공하는 것은 사용자 입장에서는 난감할 수 있습니다. 이럴 때 이미 많은 사용자들에게 신뢰를 받고 있으며 충분히 많은 사용자를 보유한 서비스에게 인증기능을 위임해서 인증 결과만 받아 볼 수 있는 방법이 있습니다. 간편 로그인이라고 부르기도 하고 소셜로그인이라고 부르기도 하는 기능입니다. 1. oauth ..
STATIC 파일 분리 1. static 파일을 분리하는 이유 일반적으로 css와 자바스크립트는 html 파일에 포함시키지 않습니다. css와 자바스크립트는 서버에 매번 렌더링 할 필요 없이 모든 사용자에게 동일하게 적용됩니다. css나 자바스크립트는 데이터베이스에 저장된 값을 적용하 거나 템플릿태그를 적용할 일이 없다는 말입니다. 서버에서 렌터링해야할 필요가 있는 경우도 있지만 예외적인 부분입니다. 반대로 html은 매번 새로 생성해야 하는 부분이기 때문에 어쩔 수 없이 매 요청마다 렌더링 후 전송을 해야 합니다. 매번 새로 생성해줘야 하는 코드를 동적코드 dynamic코드라고 부르며 새로 생성할 필요가 없는 코드는 정적코드 static코드라고 합니다. 정적 코드는 각 종류에 따라 css, js 등의 ..
Jong_seoung
'BackEnd' 카테고리의 글 목록 (16 Page)