Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

static을 만들지 않고 json으로 post할 때 오류 #288

Open
pasa3232 opened this issue Nov 14, 2020 · 2 comments
Open

static을 만들지 않고 json으로 post할 때 오류 #288

pasa3232 opened this issue Nov 14, 2020 · 2 comments
Labels
backend HW4 tip Share your knowledge and experience!

Comments

@pasa3232
Copy link
Collaborator

코딩모임에서 다뤘던 내용입니다.

스크린샷, 2020-11-14 17-12-54

3번까지 진행 된 상황에서 위와 같이 json으로 user post를 할 수 있는 프론트를 확인할 수 있는데, 잘 작동이 되지 않는 상황을 겪었습니다.
json으로 post를 보내고 request.data를 찍어보면 아래와 같습니다.

스크린샷, 2020-11-14 17-17-11

Content에 적어준 내용들이 하나의 string으로 묶여서 "content"라는 attribute로 보내진다는 것을 확인할 수 있었습니다. "role"과 같은 attribute는 존재하지 않고 "content"와 "content-type" attribute만 존재하는 json response를 보내줍니다.

프론트적으로 static이 존재하지 않으면 response body가 잘 보내지지 않는 문제가 있는 것 같습니다. 뒤의 과제를 수행하면서 자연스럽게 해결되는 것이기 때문에 그냥 postman으로 post해보고 넘어가면 될 것 같습니다.

@pasa3232 pasa3232 added backend HW4 question Further information is requested specification issues related with specification of assignments and removed specification issues related with specification of assignments labels Nov 14, 2020
@davin111
Copy link
Member

davin111 commented Nov 14, 2020

@pasa3232 빠른 공유 정말 감사합니다! 저랑 @Hank-Choi , @dkwanm1 도 같이 보면서 한참 헤맸었는데, 이런 경우를 과거에 직접 테스트해보며 경험한 적이 없었기 때문입니다. static 하게 제공되는 것으로 HTML, CSS, JavaScript 파일들이 있는데 그 중에 (아마 JavaScript에) DRF 프론트의 Raw data 탭으로 보낼 때 적절한 JSON 형태로 잘 만들어주는 프론트엔드 로직이 포함되어있는 것 같습니다. 그래서 local 환경에서 runserver 해봤을 때 또는 static 파일들도 모두 배포되게 했을 때는 문제가 발생하지 않으나, uWSGI를 통한 동적 배포만 한 상황에서는 바라는 JSON 형태대로 DRF 프론트의 Raw data 탭을 통해서는 request body가 잘 전달되지 않는 것 같습니다. 물론 이것은 DRF가 자동으로 만들어주는 프론트에 관련한 이야기들이고, #256 에서도 언급했듯, DRF 웹 프론트 자체는 중요한 것이 아니라 cURL, Postman 등 배포된 서버에 요청을 보내는 것 자체가 중요합니다! 아무튼 이를 통해 DRF 프론트가 필요로 하는 static 파일들이 비단 '예쁘게만 해주는' 것이 아니라, 기능적인 프론트엔드 로직 요소도 포함하고 있다는 것을 알 수 있었네요.

@davin111 davin111 added tip Share your knowledge and experience! and removed question Further information is requested labels Nov 14, 2020
@davin111
Copy link
Member

davin111 commented Nov 14, 2020

e18613b 과제 내용에도 이 상황을 고려하여 좀 더 친절하게 사족을 붙여보았습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend HW4 tip Share your knowledge and experience!
Projects
None yet
Development

No branches or pull requests

2 participants