반응형

Django 5

[17~21일차] 5번째 개인과제 SNS

마지막 프로젝트는 개인과제로 진행되었다. 간단하게 요구사항을 설명하면 JWT 토큰을 사용하여 로그인, 로그아웃, 인증, 인가하고, 게시글을 작성할 수 있고, (CRRUD) 좋아요를 할 수 있는 SNS을 만드는 프로젝트이다. 요구사항을 확인하고 가장 먼저 API Document를 작성했다. 가능한 RESTful하게 설계하려고 고민했으며 주로 인스타, 페이스북 같은 sns 서비스를 참고하여 작성했다. LIke 기능의 경우 좋아요 기능과 취소 기능을 한 API에 설계하기 보단 like, unlike 두 개의 API로 나눠 설계했으며 이는 인스타에서 확인할 수 있었다. 하나의 API로도 충분히 구현은 가능하지만 인스타의 경우 좋아요할 경우와 취소할 경우 로직이 다르고 알림과 같은 추가적인 로직이 필요하기에 구분..

[TIL] 22.06.11

👀 오늘 한 일 django annotate, F, values_list 활용해보기 django 역참조 복습 😄 오늘의 TMI 웬만하면 M2M 필드를 사용하자,, ForeignKey로 관계 테이블을 만들어서 같은 결과를 만들려고 코드를 작성해봤는데 삽질을 엄청 했다. 1번 코드는 ForeignKey를 가지고 직접 M2M 관계를 만든 모델을 사용했고, 2번 코드는 ManyToManyField 필드를 사용한 모델을 사용했다. [1번 코드] # ★★ 역참조 Test ★★ user = UserModel.objects.get(id=1) # result: 오브젝트 # print(dir(user)) dev_languages = user.userprofile.userprofiledevlanguage_set.all() ..

TIL & WIL 2022.06.11

[Django] F( )표현식

🧶 서두 프로젝트를 진행하며 동시성 문제를 해결하기 위해 F 클래스를 사용했지만 정확한 원리에 대해 알지 못해서 정리하는 시간을 가져봤다. 🧶 F( )표현식 🔋 F( ) 정의 F() 개체는 모델 필드의 값, 모델 필드의 변환된 값 또는 주석이 달린 열을 나타냅니다. 실제로 데이터베이스에서 Python 메모리로 가져올 필요 없이 모델 필드 값을 참조하고 이를 사용하여 데이터베이스 작업을 수행할 수 있습니다. 나름의 해석을 해보자면 "F() 클래스를 사용해서 만든 객체는 모델의 필드의 값, 모델 필드의 변화된 값, 주석이 달린 열을 나타내는데 Python 메모리로 데이터를 가져오지 않고 데이터베이스에서 작업을 수행한다"라고 해석할 수 있다. 🔋 F( ) 활용법 장고 공식 문서에 나와있는 예제를 살펴보자. #..

코딩/Django 2022.04.26

Django channels 실시간 채팅 기능 (websocket)

공식문서 + 구글링 + 유튜브를 통해 실시간 채팅 기능 구현(서버 api 동기식) 스파르타 내배캠 4번째 팀 프로젝트 실시간 채팅 기능 담당. 간단하게 프로젝트 소개를 하고 Django channels를 이용한 실시간 채팅 기능 구현 과정을 피드백 하겠다. ※ 스크롤 압박 주의 1. 프로젝트 소개 bondar는 유화 처리 시스템을 접목한 소개팅 앱으로 사용자의 프로필 이미지를 정해진 화풍으로 유화 처리를 하여 원본 이미지가 노출되는 걸 방지하고 재미 요소를 더한 앱입니다. 프로젝트 bondar 레포지토리 / 우리는 마을을 본다. https://github.com/GoHeeSeok00/bondar/tree/main GitHub - GoHeeSeok00/bondar Contribute to GoHeeSeok..

코딩/Django 2022.03.06

Story 11. WIL (django)

프로젝트가 끝나고 1주일간 장고를 배웠다. 이번 WIL은 간단하게 배운 내용을 나열하고 넘어가겠다. 1. 장고 기본 세팅 (setting, model, urls, views, startapp, createsuperuser, makemigrations, migrate) 2. 로그인, 회원가입기능 (직접 모델 설계) 3. 글쓰기 기능 4. 로그인, 회원가입기능 (장고 모델 상속) 5. 댓글 기능 6. 태그 기능 7. 깃허브 깃배쉬 사용법 8. AWS 베포 전체적인 내용은 간단한 SNS를 만들어 베포 하는 내용이다. 인스타 클론코딩 프로젝트를 진행할 때는 flask 프레임워크를 사용했었는데 기능을 처음부터 끝까지 빌드를 해야 돼서 코드도 길어지고 복잡한 게 많았다. 특히 댓글, 좋아요, 태그 기능을 만들기 어..

반응형