728x90
반응형
Django로 프로젝트를 진행하다 보면,
static, template 디렉토리들과 django로 만든 app들을 분리해서 정리할 필요성을 느낄때가 있습니다.
django-admin startapp 명령어를 통해 생성된 app들만 따로 모아서 분류하는 방법을 알아보겠습니다.
django_apps 디렉토리를 만들어서
django-admin startapp 명령어를 통해 만들어진 users app을
django_apps에 이동시키는 예로 설명하겠습니다.
1) settings.py - INSTALLED_APPS 설정
INSTALLED_APPS = [
'django_apps.users',
]
'users' -> 'django_apps.users'로 변경
2) django_apps.users의 apps.py 변경
from django.apps import AppConfig
class UsersConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'django_apps.users'
# name = 'users' 에서 위와 같이 변경
3) 프로젝트 앱에서 urls.py에 호출하는 경우로 설정했다면 아래와 같이 변경
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('users/', include('django_apps.users.urls')),
path('admin/', admin.site.urls),
]
# 5번째줄에 기존 include('users.urls') 를 위와 같이 변경
* 생성 자체를 특정 디렉토리 안에서하기
1)djang_apps 안에 users를 만들기
django-admin startapp users django_apps/users
위와 같이 하면 되는데, django_apps/users가 생성되어 있지 않으면 다음과 같은 오류가 발생하므로 담아줄 디렉토리를 먼저 만들고 실행합니다
CommandError: Destination directory '/home/taltal/git/yogiresume/django_apps/users' does not exist, please create it first
2) django_apps.users의 apps.py 변경
from django.apps import AppConfig
class UsersConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'django_apps.users'
# name = 'users' 에서 위와 같이 변경
728x90
반응형
'Python > Django' 카테고리의 다른 글
Django admin: Register all models # Django admin page에 모든 모델 등록 (0) | 2023.02.19 |
---|---|
Django not null CharField objects.create # not null 임에도 object가 생성되는 경우 # unpack # ** (0) | 2023.02.16 |
Django ORM Query: ForeignKey로 연결된 필드 filter (0) | 2023.02.04 |
Django Template, render_to_string # backend에서 data 받기 #render_to_string #loader (0) | 2023.01.29 |
이미지 업로드: Django ImageField # Ajax (0) | 2023.01.26 |