본문 바로가기

DEV/Web 개발97

Web 개발 :: Django rest framework, 추천 시스템 _TIL#45 ■ JITHub 개발일지 45일차 □ TIL(Today I Learned) :: django restframework - 추천 리스트 가져오기 추천리스트를 가져오기 위해 ajax 문법을 사용하였다. 이는 for문을 통해 html 템플릿을 반복하기 위해서였다. 잊었던 부분인데 다시 사용해보니 새록새록했다. function songrecommend() { $('#songs-box2').empty() const song_id = 10 $.ajax({ type:"POST", url: "http://127.0.0.1:8000/songs/"+song_id+"/recommend/", data: {}, success: function (response) { let rows = response for (let i = 0.. 2022. 11. 7.
Web 개발 :: 파이썬 Django Rest Framework(14) _ 피드 DRF(Django Rest Framework)(14) _ 피드 01. 프로필 페이지 - 이제 유저가 팔로우하고 있는 사람들의 글들을 볼 수 있는 Feed 화면을 생성해본다. 먼저 urls.py에 사용할 url과 view를 연결해준다. # articles/urls.py urlpatterns = [ ... path('feed/', views.FeedView.as_view(), name='feed_view'), ... ] - Feed는 로그인 되어있을 때 보여주기 위해 permission_classes를 추가해주었다. - 그리고 for문을 이용해서 사용자가 following하고 있는 사람들을 차례로 돌 것이다. 이 때 사용되는 것이 Q objects인데 참고 링크를 확인해본다. (※ 참고 링크) Q obje.. 2022. 11. 7.
Web 개발 :: 파이썬 Django Rest Framework(13) _ 프로필 페이지 DRF(Django Rest Framework)(13) _ 프로필 페이지 01. 프로필 페이지 - 사용자 프로필 페이지를 만들기 위해 정보를 가져오는 기능을 구현해보려고 한다. - 아래와 같이 view에서 사용할 serializer를 먼저 정의해준다. # users/serializers.py class UserProfileSerializer(serializers.ModelSerializer): class Meta: model = User fields = '__all__' - 정의한 UserProfileSerializer를 사용하여 아래와 같이 ProfileView를 만들어주고 포스트맨으로 확인해본다. # users/views.py class ProfileView(APIView): def get(self,.. 2022. 11. 6.
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.
반응형