inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

DRF강의 > JSON응답뷰 강의 에서 질문이 있습니다!

185

길준

작성한 질문수 3

1

DRF로 Post모델의 API를 설계할 때 router.register('posts', views.PostViewSet) 여기서 

2개의 url을 만들어준다고 하셔서 router.urls를 출력을 해봤습니다.

출력 결과 아래와 같이 나왔습니다. 

[
    1. <URLPattern '^post/$' [name='post-list']>, 
    2. <URLPattern '^post\.(?P<format>[a-z0-9]+)/?$' [name='post-list']>,

    3. <URLPattern '^post/(?P<pk>[^/.]+)/$' [name='post-detail']>,
    4. <URLPattern '^post/(?P<pk>[^/.]+)\.(?P<format>[a-z0-9]+)/?$' [name='post-detail']>,

    5. <URLPattern '^$' [name='api-root']>,
    6. <URLPattern '^\.(?P<format>[a-z0-9]+)/?$' [name='api-root']>
]

여기서 질문이 생겼습니다. 4번에서 posk/pk/format 이어야 할것같은데

왜 중간 \. 이 있는지 의문입니다...!!

django react docker python

답변 1

1

이진석

DRF의 DefaultRouter에서는 format_suffix_patterns를 통해서 해당 format 패턴이 추가된 urlpatterns를 생성해주고 있습니다. format_suffix_patterns 내에서 ".포맷" 의 구조로 URL을 선언하고 있기 때문에 그렇습니다. 포맷 인자가 확장자처럼 보이도록 의도한 것이죠.

  • /blog/posts/100/ 요청
  • /blog/posts/100.json 요청

혹은 /blog/posts/100/ 에 대해서 QueryString으로 /blog/posts/100/?format=json 으로 쓰실 수도 있습니다.

관련 공식문서 : https://www.django-rest-framework.org/api-guide/format-suffixes/

 

0

이진석

https://github.com/encode/django-rest-framework/blob/3.12.4/rest_framework/urlpatterns.py#L105

위 소스코드에 정의되어있습니다. :-)

안녕하세요.

0

62

1

[OneToOne Field Demo] get_user_model() 메서드를 활용해야 하는 이유?

0

282

1

useEffect 훅에서 else 유무에 따른 결과

0

221

1

useAxios 훅의 dependency array 설정

0

254

1

useEffect에서 변수 업데이트 관련 질문

0

388

1

rest_framework.generics.CreateAPIView의 model 속성 유무

0

273

1

bootstrap4

0

479

4

리뉴얼 강의가 오픈이 되면 기존 강의는 더이상 못보는걸까요

1

373

1

admin form에서 앞선 필드 선택 후 다른 필드 select widget 구성하는 방법

0

577

3

useState는 필수일까요?

0

269

1

python manage.py makemigrations instagram 시 created_at default 오류가 발생합니다.

0

606

4

Django allauth를 사용한 소셜 로그인 시 에러

0

657

1

프로젝트명 변경 뒤, 디버그툴바+디버그모드 사용 시 에러

0

561

2

useLocalStorage() 함수 사용여부

0

233

1

django에 LOGIN_URL = '/accounts/login/'의 의미?

0

452

1

리듀서의 의미 재확인

0

436

1

simple-jwt Refresh Token 사용 노하우

0

903

2

docker compose 를 통한 배포 관련 오류 문의

0

683

1

파이썬 속도 장고 관련 궁금한게 있습니다.

0

369

1

is_like_user

0

237

1

related_name 오류

0

276

1

re_path 오류

0

263

1

re_path url

0

252

1

No post matches the given query

0

668

2