본문 바로가기

django35

딥러닝 :: 11월 넷째주 WIL13 ■ 개발일지 WIL #13 1. FACTS - Django Rest Framework(DRF) 프로젝트 진행 기능1) 딥러닝 OpenCV를 이용한 이미지 스타일(유화) 처리 서비스 구현 기능2) DRF Serializer를 이용한 게시글 생성 기능 구현 기능3) DRF Serializer를 이용한 댓글 CRUD 기능 구현 기능4) Backend 기능1~3)을 처리할 수 있는 Frontend Javascript api 및 html 템플릿 생성 기능5) AWS EC2와 Docker를 이용한 웹사이트 배포 2. FEELINGS - Django 기본을 탄탄하게 다지는 것이 매우 중요하게 생각된다. Backend를 잘 이해하고 탄탄하게 잘 구성하ㅇ 시간을 많이 절약할 수록 다음 프로젝트에서 Frontend에 투자.. 2022. 11. 29.
Web 개발 :: Django DRF Test Code 활용하기 Django DRF Test Code 활용하기 01. 테스트 코드 - Django에서 startapp을 통해 만들어진 앱에는 test.py라는 파일이 자동으로 생성된다. 이 파일에 임의의 테스트코드를 적고 터미널에서 아래와 같이 입력하면 테스트 결과를 출력해준다. python manage.py test - 임의로 아래와 같이 test.py에 작성하고 위의 명령어를 통해 test하면 결과를 출력해주는 것을 확인할 수 있다. # test.py from django.test import TestCase # Create your tests here. class TestView(TestCase): def test_two_is_three(self): self.assertEqual(2,3) def test_two_i.. 2022. 11. 9.
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(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(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(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.
반응형