-
Notifications
You must be signed in to change notification settings - Fork 0
Code Convention
Hyerin Sung edited this page Jul 24, 2026
·
1 revision
- 단위: API 명세서 도메인
- 네이밍:
<도메인명>(snake_case, 복수형)
- 네이밍
created_atupdated_at-
user(User 외래 키 필드가 1개일 경우)
- 인자 넘길 때 줄바꿈하기
image = models.ImageField( upload_to='user/image', null=True, blank=True, )
- created_at 필드
created_at = models.DateTimeField( auto_now_add=True, )
- updated_at 필드
updated_at = models.DateTimeField( auto_now=True, )
- media 폴더 구조:
<모델명>/<필드명>- 예시:
upload_to='user/profile_image'
- 예시:
- 일일이 등록
from django.contrib import admin from community.models import User, Hashtag, Community, Question, Answer, LikeQuestion, LikeAnswer admin.site.register(User) admin.site.register(Hashtag) admin.site.register(Community) admin.site.register(Question) admin.site.register(Answer) admin.site.register(LikeQuestion) admin.site.register(LikeAnswer)
- 네이밍:
<모델명><자유롭게>Serializer(PascalCase)- PostListSerializer
- PostDetailSerializer
- UserLoginSerializer
- UserSerializer
-
fields는 튜플로 적기 - docsString(코드 설명)
Tip
- 뷰와 비즈니스 로직을 분리하기
- 코드 역할 구분
- URL: 엔드포인트
- View: 요청 수신, 요청값 검증, 응답 송신
- Service: DB 쿼리
- Serializer: 응답값 형식 가공
- 네이밍:
<모델명>Service(PascalCase) -
__init__메서드def __init__(self, request:HttpRequest): self.request = request
def __init__(self, request:HttpRequest): self.request = request self.serializer = ExampleSerialiser(data=request.data)
def __init__(self, request:HttpRequest, pk:int|None=None): instance = get_object_or_404(Example, pk=pk) if pk else None self.request = request self.instance = instance self.serializer = ExampleSerialiser(instance, data=request.data)
- CBV (APIView)
- 네이밍: url 패턴에 따라 작명 (PascalCase)
- 네이밍
- 클래스명:
PascalCase - 변수/메서드명:
snake_case
- 클래스명: