Django의 View나 URL의 네이밍 컨벤션
61
1 asked
안녕하세요 강사님, 스타트업에서 django를 활용해 개발하고 있는 신입 개발자입니다.
일을 시작하다 보니 제가 django에 대해 잘 모르고 있다는 것을 느껴 수강하게 되었는데요, 그 중 가장 고민이 되는 부분이 네이밍이었습니다.
그래서 질문드리는 것이 Django에서는 View나 URL 엔드포인트 별명(name=에 들어가는 값)을 지을 때 해당 객체의 타입도 같이 적는지 궁금합니다.
예를 들어 View의 이름을 지을 때 PostRenderView라고 짓는지, 아니면 PostRender라고만 해도 될까요? url name을 지을 때에도 post_render라고만 하면 되는지, post_render_view라고 해주는게 좋은지 django의 컨벤션을 알고 싶습니다.
제가 생각하기엔 View의 클래스 이름은 view라는 것을 명확하게 하기 위해 View를 붙이는 게, url name은 template에서 쓰이는 별명이므로 post_render라고만 하는 게 좋다고 생각해서 지금까지 이렇게 짓고 있었습니다.
또 HTTP response에 대해 들었던 내용 중에 정확하진 않지만 메서드 타입이 get이면 이미 타입에 역할이 포함되어 있기 때문에 메서드 이름에 get을 넣지 않는 게 좋다라고 들었던 기억이 있어서요.
강사님의 생각이 궁금합니다. 알찬 강의 잘 수강하고 있습니다. 감사합니다!
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다.
back010님께서 제기한 Django의 네이밍 컨벤션에 대한 고민을 이해합니다. Django에서는 명시적이고 직관적인 이름 짓기를 추천합니다.
View 클래스의 이름 짓기:
- Django의 클래스형 View의 경우, 클래스 이름 끝에
View를 붙이는 것이 일반적입니다. 따라서PostRenderView처럼 명명하는 것이 좋습니다. 이는 뷰의 역할과 위치를 명확하게 나타내주기 때문에 소스코드를 읽는 다른 개발자들이 더 쉽게 이해할 수 있습니다.
- Django의 클래스형 View의 경우, 클래스 이름 끝에
URL name(alias)의 이름 짓기:
- URL name의 경우, 템플릿에서 많이 사용되기 때문에 간결하고 기억하기 쉬운 이름을 사용하는 것이 좋습니다. 따라서
post_render와 같이 작성하는 것이 일반적입니다. 추가로 ‘_view’를 붙이는 것은 필요하지 않으며, URL의 행동(렌더, 조회 등)을 명확하게 나타내면 충분합니다.
- URL name의 경우, 템플릿에서 많이 사용되기 때문에 간결하고 기억하기 쉬운 이름을 사용하는 것이 좋습니다. 따라서
메서드 이름 짓기:
- HTTP 메서드 타입은 기본적으로 메서드에 역할을 포함하고 있기 때문에
get,post등의 메서드 이름에 해당 HTTP 메서드명을 포함하지 않는 것이 일반적인 컨벤션입니다. 예를 들어,get()메서드의 경우retrieve_post처럼 구체적인 동작을 설명하는 이름을 붙이는 것이 좋습니다.
- HTTP 메서드 타입은 기본적으로 메서드에 역할을 포함하고 있기 때문에
Django 프로젝트에서 명확하고 일관성 있는 네이밍은 유지보수와 협업에 큰 도움이 됩니다. 강의를 통해 Django의 다양한 컨벤션과 모범 사례를 잘 익히시길 바랍니다. 감사합니다.
추가적인 정보가 필요하다면 Django 공식 문서를 참고해보세요. 좋은 학습 되시길 바랍니다!
08-14 FormView 관련 질문
0
72
1
07-01 IPv4AddressIntegerField 질문
0
82
1
14-08 수업 확인 요청 드립니다.
0
91
2
nextjs git 관리?
0
75
1
14-07에서 SESSION_COOKIE_DOMAIN = None 처리 필요.
0
75
2
고민
0
220
3
django-component==0.139 실행 시 오류
0
167
2
django-csp 4.0 migration 관련
0
122
2
01 윈도우 개발환경 설치 문의
0
99
1
강의 자료 문의
0
130
2
선생님 학습 방법 질문이 있습니다.
0
154
2
bulk_update에서 updated_at 필드
0
124
1
정규표현식
0
107
2
선생님 질문 있습니다.
0
80
1
공유자님 이 강의 공부 방법에 대한 질문입니다.
0
181
2
mydjango.py 질문 있습니다.
0
147
3
Django-Components의 0.128 세팅
0
226
3
질문 아님.
0
127
1
mydjango.py 실습 질문있습니다.
0
88
2
pycharm 개발환경 설정 오류
0
182
2
강의 듣다가 유료pycharm에 비해 vscode지원기능이 아쉬워서 확장프로그램 만들었는데 여기 공유해도 될까요?
0
167
1
중단점에 대한 질문 있습니다.
0
133
2
todo / react 붙이는 깃주소를 받고 싶습니다.
0
179
6
NoReverseMatch at /hottrack/archives/2023/
0
98
2

