Django를 React와 DRF로 리뉴얼 하기



DJANGO REST FRAMEWORK X REACT



1. 발단

Django의 Jinja template에서는 아래처럼 템플릿 태그를 이용할 수 있게 하여 보일러플레이트 코드를 구현할 수 있도록 해줍니다. 보일러플레이트는 간단하지만, 코드를 재사용할 수 있게 해주어 빠른 개발과 일관성있는 서비스 제공을 돕는 중요하디 중요한 핵심입니다.

{% block content %}
...
{% endblock %}

{% block footer %}
...
{% endblock %}


**보일러 플레이트 코드 핵심

  • 최소한의 수정으로 최대한의 재사용


하지만 block 태그는 한 페이지에 한번 밖에 사용할 수 없고(Advanced Block Tag를 쓰면 Repeating도 할 수 있지만.. 어쨌든 공식적으로는..) 또한 include가 있지만, include 태그는 block 태그보다 느립니다.(Django 공식문서 상.. 테스트 해보지 않음..) 또 지금 ES6를 웹팩과 바벨 없이 사용하고 있는 부분도 있는데 모던 브라우저가 아니면, 사용할 수 없습니다.


이 말은 즉슨, 지금 이 블로그의 프론트엔드 사용기술은 진짜 Real World에서는 사용하지 않는 기술이라는 말이지요. 



2. 교육 중 느낀 바..

제가 엄청 대단한 사람은 아니지만, 그리고 사실 상 업무적으로 프로덕션 레벨에서 프론트엔드를 다루어본 경험도 아주 적어서, 프론트엔드.. 그 심오한 세계에 대해 잘 알지는 못하지만, 어린 초중생들과 몇몇 성인들을 상대로 무료강의를 가끔씩 하는데요. 성인들의 경우 무료라기보다는 스터디에 가깝습니다. 그 분들께서 하시는 질문이 많은 것을 느끼게 했습니다.

학생 : "응.. 그래 알겠으니까, 그래서 현실에서 진짜 리얼 월드에서도 이렇게 사용해?"
딩글 : "...."

대답 못했습니다. 이렇게 사용 안하니까요. 실제 기업에서 개발하는데 DRF가 아니라 템플릿까지 전부 이용하는 회사는 많지 않을거에요. 어드민등 내부 화면을 제외하고는요... 제가 알기로는 '라인' 정도?..  Django Rest Framework를 대부분 이용하며, 사실 개발이 거의 완료된 프로젝트 같은 경우에는 "새로운 API를 만들었습니다!!" 라고 해도, 실상은... 제가 만들지도 않은 클래스를 상속 받아서 저는 숟가락만 올려서 새로운 서비스를 만들어 낼 수 있으니까요. 

상속에 상속 모델 마저 모두 상속해서 막상 실제 모델들의 필드는 몇개 안되는... 상속된 필드가 전부 채워 버리는 그런 models.py도 본적이 있으니까요. 그래서 실제 Django Rest Framework와 React를 사용해서..(사실은 React를 쓸지 Vue를 쓸지 고민..중...;) 처음부터 끝까지 그리고 AWS를 이용해서 Deploy 하는 것 까지 필요하면 Lambda도 쓰고! RDS는 안 쓸 예정!(No Money -_-;)


아무튼 A-Z 를 전부 해보려고 합니다. 그냥 간단한 예제가 아니라  Real World Project를 만들어 1일 1커밋을 수행해보려고 합니다. 



물론, 55 커밋이나 3월에 했지만, 1일 1커밋은 아닙니다. 하루에 5번 한 적도 있으니까요..




3. 언제부터 언제까지?

시작은 API 엔드포인트가 전부 나와있으니 (지금까지 해둔 것으로) DRF 부터 바로 시작할 예정입니다. 

생업이 있기 때문에...;; 언제 끝날지는 아무도.. 모르지만, Scalable한 웹사이트를 만들어 보려고요. 사실 이대로만 따라 하실줄 알면, 어디 가서든 밥은 먹고 살수 있을거에요. ㅎㅎ 하지만, 좌충우돌 해보겠습니다. 그리고 삽질기 까지 다 올려서 매뉴얼처럼 만들어 보려고 합니다. 그렇다고 글을 조금만 쓸건 아니에요.



4. 굳이 블로그 하면서 그럴것 까지..?

라고 생각도 합니다. 직장동료들에게 물어봤더니 반응이 장난 아닙니다.

- 시간 많으세요?
- 대체왜? 그냥 네이버 블로그에다 해도 되는 걸 굳이?
- 방문자가 하루에 수만명 되는것도 아닌데 .. 왜?


물론, 시간은 많지 않습니다. 쪼개서 사용하는 수 밖에..

물론, 방문자가 많은 것도 아니고, 다른 블로그 서비스를 사용해도 전혀 문제 없지만, 견해의 차이 랄까?.... 개발자가 네이버 블로그에다 블로깅을 하고 개발과 다른 연구에 치중하겠다고 생각하시는 분이 있는 것처럼. 내 사이트에 내가 만드는 사이트프로젝트를 계속 추가하고 싶고 (펫 프로젝트가 펫으로만 끝나지 않게..) 그냥 혼자만의 자기만족이자.. 유희랄까...?


그 분들은 절대 이해 못하시더라고요.


암튼 저는 Go 합니다.


  • [[a.original_name]] ([[a.file_size | fileSizer]])
좋아요[[ postLike | likePlus ]]
공유
라이언

“Lead Python Engineer”

댓글 [[totalCommentCount]]
[[ comment.author__nick_name ]] [[ comment.datetime_updated | formatDate]] (수정됨)

[블라인드 처리된 글 입니다.]

답장
[[ sub.author__nick_name ]] [[ sub.datetime_created | formatDate ]] (수정됨)

취소
댓글을 남겨주세요.
'Django' 관련 최신 포스트
[[ post.title ]]
[[ post.datetime_published_from | DateOnly ]]