25%
24,750원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결Django REST Framework 핵심사항
댓글 보기 및 삭제 api
안녕하세요! 해당 강의에 추가하려고 하는 api가 두가지 인데, 1) 게시물에 달린 댓글 list 조회 2) 댓글 삭제 PostCommentListAPIView는 각 게시물에 달린 댓글의 list를 조회하고자 합니다. 이에 대해 어떻게 코드를 구현하면 좋을 지 여쭤보고 싶습니다! CommentDeleteAPIView는 게시물의 댓글을 삭제하는 api인데, 이것 또한 위 코드로 작성했을 경우 제대로 댓글이 삭제되지 않아 조언을 구하고 싶습니다. generic 에서 구현할 수 있는 방법이 있나요??
- 미해결Django REST Framework 핵심사항
post, comment crud 질문
해당 강의의 최종 단계에선 post, comment 에 대해서 crud가 가능한 것인가요?? post는 get, comment는 post만 가능하다고 확인이 되어서요!
- 해결됨Django REST Framework 핵심사항
CateTagSerializer 질문입니다!
안녕하세요 좋은 강의 정말 잘 듣고있습니다 감사합니다. 위 코드에서 CateTagSerializer를 nested Serializer로 정의한것 까지는 이해가 되는데요! CateTagSeralizer를 사용할 때, Category와 Tag에서 name만 가져오는게 CategorySerilizer와 TagSerializer를 사용하는것으로 보입니다. CateTagSerializer에서는 CategorySerializer와 TagSerializer를 써주지 않았는데 어떤 로직에 의해서, 사용하는건지 이해가 되지 않습니다 ㅠㅠ
- 미해결Django REST Framework 핵심사항
The serializer field might be named incorrectly and not match any attribute or key on the `User` instance.
AttributeError at /api2/post/Got AttributeError when attempting to get a value for field `title` on serializer `PostListSerializer`. The serializer field might be named incorrectly and not match any attribute or key on the `User` instance. Original exception text was: 'User' object has no attribute 'title'.위와 같은 에러가 발생합니다.코드를 봤는데 이유를 잘 모르겠습니다...답변을 주신다면 너무 좋을 것 같습니다serializers.pyviews.pyurls.py
- 해결됨Django REST Framework 핵심사항
블로그 공유
안녕하세요 강의 잘 듣고있습니다. 혹시 제가 강의를 들은 것을 바탕으로 공부한 내용을 블로그에 정리하고 있는데 여기서 알려주시는 팁 들을 2차가공해서 개인 블로그에 올려도 될까요? 물론 강의에서만 나용 내용만을 짜집기해서 올린다는 것이 아니라 공식 문서 등도 찾아가면서 정리를 해오고 있습니다. 출처도 남길 예정이구요 ㅎㅎ
- 미해결Django REST Framework 핵심사항
DRF 1:N 참조 테이블 객체 매핑 POST
안녕하세요. 현재 drf 를 사용하여 api 개발을 공부중입니다. 현재 1:n 관계인 두개의 테이블에서 N측 테이블의 데이터를 저장할 때 기존에 존재하던 1측 테이블의 레코드와 관계를 생성하여 매핑하고자 합니다. 이런 저런 방법을 계속 시도하였으나 참조하는 테이블의 객체를 알맞게 매핑하는데 자꾸 실패하여 질문을 남깁니다. class Company(models.Model): company_name = models.CharField(max_length=30) nationality = models.CharField(max_length=20) region = models.CharField(max_length=40) class Recruitment(models.Model): company = models.ForeignKey(Company, on_delete=models.CASCADE) position = models.CharField(max_length=20) reward = models.IntegerField() info = models.TextField() skill = models.CharField(max_length=30) Company 모델과 이를 참조하는 Recruitment 모델입니다 class CompanySerializer(serializers.ModelSerializer): class Meta: model = Company fields = '__all__' class RecruitmentSerializer(serializers.ModelSerializer): company = CompanySerializer() class Meta: model = Recruitment fields = '__all__' depth = 1 각 모델의 serializer입니다, class RecruitmentListView(APIView): def post(self, request): company_obj = Company.objects.get(pk=request.data.get('company')['id']) #1. 참조하는 company 객체를 찾아 새로운 Recruitment 객체를 생성하고, company 객체를 연결지어 serialize한다 #2. RecruitmentSerializer의 is_valid 혹은 다른 메소드를 오버라이딩하여 request를 serializer로 전달하여 저장한다 #기타 등등 if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(status=status.HTTP_400_BAD_REQUEST) 공식 문서, 유튜브 영상, 외국 사이트등을 찾아보았지만 기존에 존재하던 테이블을 참조하며 새로운 객체를 저장하는 방법이 있질 않더군요... 혹시 해결 방법을 아시면 답변 부탁드리겠습니다. 참고로 request는 { "company": { "id": 1, "company_name": "company1", "nationality": "korea", "region": "seoul" }, "position": "백엔드", "reward": 100000, "info": "test", "skill": "django" } 이런식으로 생각하고 있습니다
- 해결됨Django REST Framework 핵심사항
전에 사용했던 소스
일단 동영상을 보고 이해를 하고 있습니다. 한번 다 보고 난뒤 소스 보고 실습을 하려 합니다. 그런데 동영상 내용이 전에 있는 소스를 가지고 변경하고 있는 것 같아서, 첨부 해주신 소스가 있긴 한데 변경된 내용 같아서 문의를 드려 봅니다. 기존의 소스도 제공하여 주실순 있는건지요. 아니면 첨부한 소스를 어떻게 할용하면 될런지요. 처음 시작이 원래 있던 소스를 가지고 수정하셔서 조금 당황했습니다. 주로 스프링 이나 안드로이드, C# 개발만하다가 REST API가 필요하여 수강하게 되었습니다. 감사합니다.
- 미해결Django REST Framework 핵심사항
DRF 커스터마이징보다 직접 구현하는게 쉽게 느껴지는데요
이쯤되니 차라리 django-ninja 설치후 최대한 직접 구현하는게 더 이해하기 쉬운거같기도하고요 ㅠ..
- 미해결Django REST Framework 핵심사항
따단이 뭔가요??
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. import 관련해서 따단이 뭔지 궁금합니다 ㅠ
- 미해결Django REST Framework 핵심사항
login창이 보이지 않습니다
안녕하세요? 강의잘 듣고 있습니다 post기능을 위해 login을 하고 싶은데, login창이 보이지 않네요 ㅜㅜ 혹시 어떤 이유에선지 짐작가시는 부분이 있을까요?
- 미해결Django REST Framework 핵심사항
강의에 대해서 문의남깁니다.
안녕하세요 강사님, 이 강의가 아니라 다른 강의에 대해서 문의를 남기려고 하는데 수강을 하기전에 문의를 남길 수가 없어서 여기에 질문을 남깁니다. 강사님의 강의 중 다른 강의를 보려고 하는데 - Vue.js - Django 연동 웹 프로그래밍 (실전편) - Vue.js - Django 연동 웹 프로그래밍 이 두개의 차이점을 알 수 있을까 해서 문의 남깁니다. 1. 실전편에서는 이전과 어떤 차이점이 있는지 2. 이전편에 설명해주신 부분을 실전편에서는 설명을 안해주시는지 3. 두강의 목적을 어디에 두고 차이점이 있는건지 설명해주시면 수강하는데 많은 도움이 될 것 같습니다. 감사합니다.
- 미해결Django REST Framework 핵심사항
GenericView context overriding 관련 질문입니다.
안녕하세요 강사님, 강의 잘 듣고 있습니다. 다름이 아니라 DRF ImageField의 url 출력을 변경하는 과정에서 문의가 있어서 글을 남깁니다. url 출력 방식을 변경하는 방법으로 def get_serializer_context(self): """ Extra context provided to the serializer class. """ return { 'request': None, 'format': self.format_kwarg, 'view': self } 이렇게 context를 가져오는 함수를 overriding하시면서 request를 None으로 만드셨는데 request가 ImageField 출력에 영향을 줄뿐 아니라 다른부분에도 영향을 줄 수 있지 않나요? 이렇게 어디에 영향을 주는지 이렇게 바꿔도 되는지 알 수 있는 방법이 있을까요?
- 미해결Django REST Framework 핵심사항
PostLikeAPIView 질문드립니다.
안녕하세요. 강의 수강하다가 궁금증이 생겨 질문 작성합니다. class PostLikeAPIView(UpdateAPIView): 이 부분에서 특정한 Post의 Like 필드의 값을 1로 증가시키는데 View 코드인데(예를 들어, pk 5번의 Post의 Like를 1증가 시킨다.), queryset = Post.objects.all() 이면 모든 Post Object를 불러오지 않나요? 어느 부분에서 특정한 Post 객체를 가져오는지 궁금합니다.
- 미해결Django REST Framework 핵심사항
json형태 출력 방법
안녕하세요, 강사님? 위의 url로 들어 갔을때 저처럼 나열식이 아니라 강사님 화면처럼 json 파일형태로 보이게 하려면 어느 부분을 손 대야 할까요?
- 미해결Django REST Framework 핵심사항
블로그앱 디테일페이지
선생님 안녕하세요. 완강을 하고 클라이언트 제공해주신 클라이언트 페이지에서 페이지를 확인해보고있습니다. api 페이지만 보면서 작업하다 클라이언트 페이지를 띄워보니 첨부한 사진과 같은 에러가 발생합니다. 서버로부터 api 응답은 잘 받아오는듯한데 vue에서 비동기로 로딩하다가 일어나는 문제같습니다. 어떻게 해결할 수 있을까요? 강의자료 VueDjAgencyDrf-untilCh7-2 에 있는 템플릿 파일을 이용하였습니다.
- 미해결Django REST Framework 핵심사항
db관련 질문
안녕하세요 선생님 수업 초반부에보면 user 테이블에 대해 crud 를 보여주는부분이 있는데 여기서 사용되는 db는 어떻게 세팅한것인가요? 이에대한 내용이 다른 강의에 포함되어있나요?(선행 강의가 있나요?)
- 해결됨Django REST Framework 핵심사항
강의를 보고 응용해보는데 잘 안되어서 질문드립니다. simplejwt와 dj_rest_auth 이용
강의내용에 없는 질문인데, 강의를 보고, login도 해보고싶어져서 simple jwt와 dj_rest_auth를 이용해보고 있습니다. 로그인을 한 후, 토큰과 user정보를 받는데, 여기서 토큰은 냅두고, user정보에 data를 더 추가하고싶습니다. 제가 나타내고 싶은건 다음 코드처럼입니다. { "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNjQ5NDEyNTQ1LCJpYXQiOjE2NDk0MTIyNDUsImp0aSI6ImIzMTA1MmM3OTQ0MzRlMTliN2FkOGM4ZmFhY2E2YTY0IiwidXNlcl9pZCI6MX0.kav5n-c1K5OnGIYlDE7dVlKn4V-08NHEv73V914E0nY", "refresh_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTY0OTQ5ODY0NSwiaWF0IjoxNjQ5NDEyMjQ1LCJqdGkiOiJhYWM4ODdkMGNlOWE0NzM5YmQxMDQ1ZTY2YjgxN2MyZCIsInVzZXJfaWQiOjF9.1qdC1du1CCpUpWlqfgI-bHOafJGbqQGKwzNXS3QRYWg", "user": { "pk": 1, "email": "test@naver.com" "nickname": "inlearn", "address": "Seoul", } } dj_rest_auth의 LoginSerializer를 수정해보려하는데 어디를 수정해야 할지 모르겠어서 질문드립니다.
- 미해결Django REST Framework 핵심사항
fields E300, E307 에러
안녕하세요 강사님, viewset 으로 Post API 만들기 강의 진행중에 발생한 에러입니다. 강의 내용대로 post url을 라우터에 등록하고, serializers 생성, view 생성 이후에 재가동하니 다음과 같은 에러가 발생하면서 동작하지 않습니다. 검색해보니 ForeignKey 로 참조하는 모델 클래스에 앱이 명시되지 않아서 그런거 같다는 거 같은데 자세한 원인은 모르겠습니다. https://stackoverflow.com/questions/56972174/errors-book-book-author-fields-e300-book-book-author-fields-e307 1. 해당 오류의 원인과 lazy reference란 무엇인지요? 2. 해결방안이 궁금합니다. (다른 앱의 model을 참조할때 발생하는 문제라면 어떻게 해야하는지) Post class는 `from blog.models import Post` 로 import 하여 가져왔습니다. from django.db import models # blog/models.py class Post(models.Model): category = models.ForeignKey('Category', on_delete=models.SET_NULL, blank=True, null=True) tags = models.ManyToManyField('Tag', blank=True) title = models.CharField('TITLE', max_length=50) description = models.CharField('DESCRIPTION', max_length=100, blank=True, help_text='simple one-line text.') image = models.ImageField('IMAGE', upload_to='blog/%Y/%m/', blank=True, null=True) content = models.TextField('CONTENT') create_dt = models.DateTimeField('CREATE DT', auto_now_add=True) update_dt = models.DateTimeField('UPDATE DT', auto_now=True) like = models.PositiveSmallIntegerField('LIKE', default=0) class Meta: ordering = ('update_dt',) def __str__(self): return self.title - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 미해결Django REST Framework 핵심사항
PostSerializerDetail serializer를 이용해 직렬화하고, 해당 ViewSet을 router를 통해 url 매핑을 한 후 api2/post/<int:pk>(get) 엔드포인트에 request를 하면 에러가 발생합니다.
* VueDjAgencyDrf-untilCh7-2의 api2/views.py에서 (프로그래머가 직접 직렬화하는 것이 아니라 VueDjAgencyDrf-untilCh6의) PostSerializerDetail serializer를 이용해 직렬화하고, 해당 ViewSet을 router를 통해 url 매핑을 하면 아래와 같은 에러가 발생합니다... * 제가 추가한 코드는 다음과 같습니다. # api2/urls.py router = routers.DefaultRouter() router.register(r'post', views.PostViewSet) urlpatterns = [ ... path('', include(router.urls)), ... ] # api2/views.py def get_prev_next(instance): try: prev = instance.get_previous_by_update_dt() except instance.DoesNotExist: prev = None try: next_ = instance.get_next_by_update_dt() except instance.DoesNotExist: next_ = None return prev, next_ class PostViewSet(ModelViewSet): queryset = Post.objects.all() serializer_class = PostListSerializer pagination_class = PostPageNumberPagination def get_serializer_context(self): return { 'request': None, 'format': self.format_kwarg, 'view': self } def get_queryset(self): return Post.objects.all().select_related('category').prefetch_related('tags', 'comment_set') def retrieve(self, request, *args, **kwargs): instance = self.get_object() prevInstance, nextInstance = get_prev_next(instance) commentList = instance.comment_set.all() data = { 'post': instance, 'prevPost': prevInstance, 'nextPost': nextInstance, 'commentList': commentList, } serializer = PostSerializerDetail(instance=data) return Response(serializer.data) * 그런데 이 이슈는 아래와 같이 router를 쓰지 않으면 발생하지 않고 정상 동작합니다. path('post/', views.PostViewSet.as_view(actions={ 'get': 'list', }), name='post-list'), path('post/<int:pk>/', views.PostViewSet.as_view(actions={ 'get': 'retrieve', }), name='post-detail'), path('post/<int:pk>/like/', views.PostViewSet.as_view(actions={ 'get': 'like', }), name='post-like'), * 어떻게 하면 PostSerializerDetail를 통해 직렬화하고 해당 ViewSet이 router를 이용하도록 하여도 에러가 나지 않을 수 있을까요?