양방향 참조와 단방향 참조는 Django의 모델 간의 관계 설정에서 중요한 개념이다. 이들은 모델 간의 사용 작용과 정보 접근에 영향을 미치며 적절한 관계 설정을 통해 데이터 베이스의 구조와 동작을 효과적으로 설계할 수 있다. 양방향 참조 양방향 참조는 두 개의 모델이 서로 참조하는 관계로 모델 A를 통해서 모델 B에 접근 할 수 있고 모델 B를 통해서 모델 A에 접근 할 수 있다. 이러한 양뱡항 참조를 통해서 두 모델은 상호 작용하고 정보에 접근할 수 있다. 예를 들어, 사용자(User)와 사용자 프로필(UserProfile)이라는 두개의 모델을 가지고 있다고 가정하면 사용자 모델은 사용자 프로필을 참조한다. 반대로 사용자 프로필 모델 역시 사용자 모델을 참조한다. 이렇게 설정된 양방향 참조는 사용자와..
BackEnd/Django, DRF
Django에서 models 데이터의 생성 시간, 업데이트 시간을 기록하기 위해 created_at, updated_at 필드를 생성하여 관리하여 주는데 이 필드들은 모델을 생성할 때마다 넣어줘야 한다. 예를 들어 게시물, 유저, 댓글 등등 많은 부분에서 중복사용되고 우리는 이러한 중복사용을 최소하 하기 위한 방법이 바로 추상화 클래스이다. 추상화 클래스는 모델 클래스의 추상화 버전으로, 실제 데이터베이스에 저장되지 않는 클래스이다. 이 클래스는 상속을 통해 다른 클래스에 적용시켜줄수있다. 가장 흔히 접했던 추상화 클래스는 'AbstractBaseUser', 'AbstractUser', 'AbstractBaseClass', 'AbstractMethod' 등이 있는데 이 추상화 클래스를 이용하여 나는 앞..
Django에서는 앱을 생성하면 test파일을 자동으로 앱 파일 안에 만들어준다. 하지만 앱의 test파일을 루트 파일 밑에 test 디렉토리를 만들어서 나누는 것은 여러 이점들이 있어서 이렇게 한다고 한다. Test 파일을 만들어 관리하면 좋은 이유 테스트 코드의 모듈화 테스트 코드를 다양한 파일로 분리함으로써, 테스트 코드의 모듈화가 가능해진다. 이렇게할 경우 특정 부분만 수정해도 전체 테스트 코드를 수정할 필요가 없어져, 유지 보수가 편리해진다. 테스트 코드의 가독성 테스트 코드를 비지니스 로직과 분리하여 작성하면 가독성이 좋아지며, 특정 테크트 케이스를 찾는 것도 용이해진다. 테스트 실행의 효율성 테스트 코드를 파일별로 분리하여 실행하면, 필요한 부분만 테스트를 할 수 있다. 이렇게 할경우 전체 ..
이 글은 어디까지나 본인이 보고 알아볼 수 있을 정도로만 작성되었으므로 소셜로그인을 한번 구현해 본 사람이 보거나 처음 구현하는데 자세히 알고 싶으면 더 좋은 블로그가 많으니 찾아보는 게 좋을 거 같다. 카카오톡 디벨로퍼 설정 카카오톡 디벨로퍼는 검색을 하면 전부 다 뜨지만 알아야 되는 정보는 따로 정리해 두는 게 좋을 것 같아서 정리해 두려고 한다. 카카오톡 로그인 후 애플리케이션 생성 Redirect URL REST API 키 변경해줘야 하는 코드 settings.py # AUTHENTICATION_BACKENDS은 새로 만들어주어야함 AUTHENTICATION_BACKENDS = ( 'django.contrib.auth.backends.ModelBackend', 'allauth.account.aut..
Django프로젝트에서 settings.py 파일을 여러 개의 파일로 나누는 것을 일반적인 프로젝트 구성 패턴 중 하나입니다. settings.py를 여러 파일로 분리하면 보다 모듈화 된 방식으로 설정을 관리하고 개발, 스테이징, 프로덕션 등 다양한 환경에서 다른 설정을 사용할 수 있다는 이점이 있습니다 base.py는 모든 설정이 공통으로 사용되는 범용 설정 파일입니다. local.py는 로컬 개발 환경에서만 사용되는 설정파일입니다. settings.py 결과 settings.py 파일을 분리하고 나면 좌측과 같은 양식으로 파일이 정리된 것을 볼 수 있을 것입니다. settings.py를 나누는 방법은 개발하면서 편한 방법으로 서로 협의후 결정하는 것이기 때문에 정해진 정답은 없다. settings.p..