drf 3

timezone설정이 일부 datetime_field에만 적용되는 이슈 해결방법

우선 db는 post모델과 advertisement모델을 1:1로 연결해서 글을 생성하는 구조로 되어있다. 그리고 각 모델의 코드는 아래와 같다. - post/models/post.py class Post(models.Model): """Model definition for Post.""" class Meta: db_table = 'posts' verbose_name = 'Post' verbose_name_plural = 'Posts' POST_TYPE = ( ('R', 'review'), ('C', 'clubpost'), ('A', 'advertisement'), ) title = models.CharField( max_length=20, null=False, verbose_name='제목' ) con..

django, drf 2022.11.17

drf dj_rest_auth 로그인 커스텀, non_field_error 해결방법

요즘 학교에서 알파프로젝트로 우리 학교 학생들을 위한 정보공유서비스를 만드는 중이다. 거기서 유저관련 기능을 구현하면서 알게된 dj_rest_auth로 로그인방식을 편하게 커스텀하는 방법을 공유하려고한다. 먼저 처음 로그인 오류를 만나게 된건 회원단계에서 이메일 인증을 하도록 구현하면서 시작됐다. 회원가입 이메일 인증 코드들을 살펴보면서 설정을 추가하다가 다음 설정을 추가하게 된다. ACCOUNT_AUTHENTICATION_METHOD = 'email' 이메일 인증을 위한 설정이라고 했고... 이름도 account authentication method... 당연히 이메일 인증을 하기위한 dj_rest_auth 기본 설정이라고 생각했다. 그리고 여기서 모든 문제가 시작됐다. ㅠㅠ 회원가입만 커스텀했을 뿐..

django, drf 2022.11.17

dj-rest-auth/allauth를 이용한 회원가입기능 구현

이번 프로젝트에서는 drf와 react를 사용하고, 로그인 회원가입 기능도 dj-rest-auth와 alllauth를 사용해서 구현한다. drf를 처음 사용해봐서 지금 당장은 어려움이 있지만 또 하다보면 익숙해진다고 생각하고 열심히 해봐야겠다! 우선 models.py부터 보자! 여기선 다양한 필드를 받아야 하기 때문에 AbstractUser를 상속해서 유저를 확장해줬다. from django.contrib.auth.models import AbstractUser class User(AbstractUser): username = None email = models.EmailField(max_length=255, unique=True) USERNAME_FIELD = 'email' REQUIRED_FIELDS..

django, drf 2022.08.04