27.Django(장고) - ecommerce 프로젝트 - views.py 정리

JungSik Heo·2024년 12월 7일

views.py 관리하는 2가지 방법

  • 장고에 기능을 계속 추가하다보면 뷰 파일(views.py)에 함수가 계속 늘어나 불편함을 느끼게 될 것이다.

  • 뷰 파일에 함수가 많아지면 관리하기 힘들어지기 때문에 이쯤에서 뭔가 개선이 필요함을 느끼게 된다.

1.분리방법

boards\views 폴더를 만듦

해당 폴더를 만든후

파일명기능함수
base_views.py기본관리index,detail
post_views.py게시글관리post_create,post_modify,post_delete
comment_views.py댓글관리comment_create,comment_modify,comment_delete

위의 3개의 함수에 분리하여 함수를 만듦

boards\urls.py 을 다음과 같이 만들어 보자

from django.contrib import admin
from django.urls import path

from .views import base_views,comment_views,post_views
app_name = 'boards'

urlpatterns = [
   # base_views.py
   path("", base_views.index,name='index'), #boards/ 끝에 슬러시 주의 할것
   path('<int:post_id>/', base_views.detail, name='detail'),
   
   #comment_views.py
   path('comment/create/<int:post_id>/', comment_views.comment_create, name='reply_create'),
   path('comment/modify/<int:comment_id>/', comment_views.comment_modify, name='comment_modify'),
   path('comment/delete/<int:comment_id>/', comment_views.comment_delete, name='comment_delete'),
   
   #post_views
   path('post/create/', post_views.post_create, name='post_create'),
   path('post/modify/<int:post_id>/', post_views.post_modify, name='post_modify'),
   path('post/delete/<int:post_id>/', post_views.post_delete, name='post_delete'),
   
]

URL 매핑시 views.index 를 base_views.index 와 같이 해당 모듈명이 표시되도록 바꾸었다. 모듈명이 있기 때문에 이제 누가 보더라도 어떤 뷰 파일의 함수인지 명확하게 인지할 수 있다.

profile
쿵스보이(얼짱뮤지션)

0개의 댓글