[Django] 앱 만들기

728x90

1. app의 개념

 

장고(Django) 앱은 장고 프로젝트의 구성 요소 중 하나로, 웹 애플리케이션을 작은 단위로 나누어 개발하고 관리할 수 있게 도와주는 개념입니다. 각 앱은 특정 기능이나 업무를 수행하며, 재사용성과 모듈화를 강조하는 장고의 설계 철학을 따릅니다.

장고 앱의 특징과 구조는 다음과 같습니다:

독립성: 각 장고 앱은 자체적으로 독립적으로 동작할 수 있으며, 다른 프로젝트에서 재사용할 수 있습니다.

앱 폴더 구조: 앱은 일반적으로 자체 폴더 구조를 가지며, 모델, 뷰, 템플릿, URL 매핑 등이 포함됩니다.

앱의 재사용성: 여러 프로젝트에서 재사용할 수 있도록 설계되었습니다. 장고 커뮤니티에서도 많은 공개적인 앱들이 존재하며, 필요한 앱을 가져와서 사용할 수 있습니다.

프로젝트와의 연결: 앱은 장고 프로젝트에 속해 있으며, 하나의 프로젝트는 여러 개의 앱을 포함할 수 있습니다.

설정 관리: 각 앱은 자체적인 설정 파일을 가지며, 프로젝트 설정과 결합하여 동작합니다.

앱은 장고 프로젝트를 구성하는 기본적인 단위이며, 웹 애플리케이션을 모듈화하고 코드를 체계적으로 구성하여 개발과 유지보수를 편리하게 만드는데 도움을 줍니다. 장고의 강력한 앱 시스템은 다양한 기능을 조합하여 웹 애플리케이션을 구축하는데 유용하며, 개발자들에게 편의성과 생산성을 제공합니다.

 

장고앱은 하나의 프로젝트에서는 유일한 이름을 가져야합니다.

 

2. app 만들기

터미널에서 아래명령어로 생성할 수 있습니다.

django-admin startapp 앱이름

 

djangoProject 의 urls.py 

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',include('myapp.urls')) #myapp의 urls.py를 include함
]

 

myapp의 views.py

from django.shortcuts import render,HttpResponse


# Create your views here.
def index(request):
    return HttpResponse('Welcome')


def create(request):
    return HttpResponse('Create')

def read(request,id): 
    return HttpResponse('Read'+str(id)) #str로 감싸줘야 제대로 출력이 된다.

myapp안에서도 urls.py를 만들어줍니다. djagoProject의 urls.py를 복사해서 붙인 후 수정해도 됩니다.

 

urls.py

from django.urls import path
from myapp import views

urlpatterns = [
   path('',views.index),
   path('create/',views.create),
   path('read/<id>/',views.read), #<> 안에는 동적변수가 들어온다.
]

출력

새롭게 생성한 장고앱이나 외부라이브러리 형태의 장고앱은 반드시 settings.py의 INSTALLED_APPS에 등록해야 합니다.

,(콤마도)도 입력해야합니다.

'PYTHON Programming > Django' 카테고리의 다른 글

[Django] 장고 설치 및 프로젝트 생성  (0) 2024.05.27