본문 바로가기

DEV235

Web 개발 :: 파이썬 Django Rest Framework(12) _ Serializer 보완(Likes count, Comments count) DRF(Django Rest Framework)(12) _ Serializer 보완 01. 게시글 상세페이지 수정하기 - 현재 게시글 상세페이지를 GET 요청하면 아래와 같이 볼 수 있다. 추가한 코멘트가 현재 보이지 않고, 좋아요는 사용자 id로 나오고 있다. 코멘트를 추가하고 사용자 이메일로 나타나게 하려한다. - 아래 models.py를 살펴보면 Article에는 Comment에 대한 정보가 없지만, Comment에는 Article을 ForeignKey로 가져오고 있기 때문에 comment_set이라는 related_name으로 사용할 수 있다. 이를 활용해서 serializer를 수정한다. # articles/models.py class Article(models.Model): user = mod.. 2022. 11. 5.
Web 개발 :: 파이썬 Django Rest Framework(11) _ 좋아요, 팔로우 기능 DRF(Django Rest Framework)(11) _ 좋아요(Like), 팔로우(Follow) 기능 01. 좋아요(Like) 모델 생성하기 - 좋아요 기능은 ManyToManyField로 생성한다. 기존에 있던 Article 모델에 추가해주도록 한다. # articles/models.py class Article(models.Model): ... likes = models.ManyToManyField(User, related_name='like_articles') - 여기서는 related_name을 지정해주어야 하는데, 이유는 related_name을 지정하지 않으면 기본적으로 지정되는 이름인 article_set이 할당되어야 할 필드가 두 개가 되기 때문이다.(기존에 user라는 ForeignK.. 2022. 11. 4.
Web 개발 :: Django rest framework, 추천 시스템, 코사인 유사도, TF-IDF _TIL#44 ■ JITHub 개발일지 44일차 □ TIL(Today I Learned) :: DRF, 추천 시스템(코사인 유사도, TF-IDF) 구현 - 현재 프로젝트에서는 사용자에게 임의의 노래 리스트를 보여주고, 사용자가 노래를 선택하면 추천해주는 서비스를 제공한다. 지난번에 머신러닝을 담당했던 것을 연장해서 이번에도 추천 시스템 기능 구현을 담당하게 되었다. - 앱은 recommend라는 이름의 앱을 새로 생성하여 작업했다. 이번에는 DRF를 사용하기 때문에 Back-end 부분이랑 Front-end부분을 분리하여 작업하고 있다. - 추천 기능은 django의 views.py에 넣지않고, 별도로 분리된 파일을 생성하여 작성했다. (이름은 recommend_function.py로 하였다.) - django에서는 .. 2022. 11. 4.
Web 개발 :: 파이썬 Django Rest Framework(10) _ 댓글 CRUD DRF(Django Rest Framework)(10) _ 댓글 CRUD 01. 댓글 모델 생성하기 - 댓글 기능을 사용하기 위한 모델은 아래와 같이 생성해주었다. # articles/models.py class Comment(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE) article = models.ForeignKey(Article, on_delete=models.CASCADE) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) def _.. 2022. 11. 3.
Web 개발 :: Django rest framework, csv to json_TIL#43 ■ JITHub 개발일지 43일차 □ TIL(Today I Learned) :: Django rest framework, 추천시스템, csv to json django restframework와 추천 시스템을 활용한 웹 서비스 구축 - 추천 시스템을 활용한 웹 서비스를 구축하는 프로젝트를 시작했다. - 프로젝트 주제는 사용자가 원하는 음악을 선택받아 관련된 음악들을 추천해주는 웹 서비스를 구현하는 것이다. - 가장 먼저 해준 것은 가지고 있는 음악 csv 파일을 사용할 수 있는 json 파일로 변환해주는 것이다. (DB에 저장하여 사용할 수도 있지만, 테스트를 위해서 json 파일을 그대로 사용하는 것도 가능했다.) - csv 파일을 json 파일로 변환할 때에는 구글 검색 'csv to json'을 하.. 2022. 11. 3.
Web 개발 :: 노래 추천 서비스 프로젝트 SA B7팀(오코완)_노래 추천 서비스 프로젝트 S.A. 📌 프로젝트 핵심 목적 Django restframework와 머신러닝 추천 시스템을 활용하여 사용자의 취향에 따라 노래를 추천해주고, 편리하게 플레이리스트를 생성하여 사용/관리할 수 있는 플랫폼 제공 특정 노래에 댓글 및 모창 업로드를 통해 다른 유저들과 재미있게 소통할 수 있는 웹 서비스를 구현 📄 기능 명세서 사용자 환경(회원가입, 로그인, 회원정보 관리 등) 플레이리스트 작성, 수정, 삭제 기능 구현(사진 업로드 등) 댓글 및 모창 업로드, 좋아요 기능 구현 사용자 취향에 맞는 음악 추천 HTML/CSS/Javascript를 활용한 프론트엔드 페이지 구성 📘 개발 포지션 구성 유저 관리 및 추가 기능 : 사재혁 노래 검색 기능 : 나웅주 노래 상.. 2022. 11. 2.
Web 개발 :: 파이썬 Django Rest Framework(9) _ 게시글 상세, 수정, 삭제 DRF(Django Rest Framework)(9) _ 게시글 상세, 수정, 삭제 01. 게시글 상세 페이지 - 게시글 상세페이지는 views.py의 ArticleDetailView에서 get함수를 통해 가져온다. - Serializer는 ArticleSerializer를 사용하고, 해당 article을 넣어준 후 Response에 넘겨준다. # articles/views.py class ArticleDetailView(APIView): ... # 게시글 상세페이지 불러오기 def get(self, request, article_id): article = get_object_or_404(Article, id=article_id) serializer = ArticleSerializer(article) r.. 2022. 11. 2.
Web 개발 :: Django rest framework, front-end_TIL#42 ■ JITHub 개발일지 42일차 □ TIL(Today I Learned) :: 파이썬, Django rest framework, front-end - 파이썬 drf를 활용해서 기본적인 user 환경을 만들어보고, frontend index화면을 javascript를 활용하여 연결해보았다. - 로그인 화면에서 from 태그를 이용하여 사용자로부터 내용을 입력받고, 특정 명령을 줄 때에는 button을 활용하였다. 이 때, onclick 옵션을 통해 javascript에서 정의해준 function을 불러오게 하였다. ... 로그인 페이지 제출 모크 api 로그아웃 - 자바스크립트에서 페이지를 잘 불러왔는지 확인할 때에는 아래와 같이 window.onload를 사용했다. 이 때 arrow function을 .. 2022. 11. 2.
Web 개발 :: 파이썬 Django Rest Framework(8) _ 게시글 생성 DRF(Django Rest Framework)(8) _ 게시글 생성 01. 게시글 기본 환경 세팅하기 - 지난번 포스팅에 이어 게시글 환경을 만들고자 한다. - django 프로젝트로 돌아와서 articles라는 앱을 생성하고, urls, views, models를 정의해준다. # articles/urls.py from django.urls import path from articles import views urlpatterns = [ path('', views.ArticleView.as_view(), name='article_view'), path('/', views.ArticleDetailView.as_view(), name='article_detail_view'), path('comment/',.. 2022. 11. 1.
Web 개발 :: django, get_object_or_404, get_list_or_404_TIL#41 ■ JITHub 개발일지 41일차 □ TIL(Today I Learned) :: DRF, get_object_or_404, get_list_or_404 - Problem) 여러 개의 Article을 가져오고 싶은데 objects.all()이 아니라 리턴 결과가 비어있을 경우 404에러를 발생시킬 수 있도록 get_object_or_404를 사용해보려 했다. 저장된 articles를 가져와야하는데 get_object_or_404.all()을 사용하려니 multipleObjectsReturned at 에러가 발생했다. - Reason) 이유를 살펴보니 get_object_or_404는 하나의 object만을 가져올 때 사용하는 모듈이었다. 즉, 여러개의 object들을 호출할 수 없었다. - Solution.. 2022. 10. 31.
반응형