본문 바로가기
Web Programming/django

[Django] 프로젝트 생성과 앱 생성

by 테리는당근을좋아해 2020. 6. 19.

프로젝트 생성

- django 프로젝트는 하나의 프로젝트와 여러개의 app으로 구성

- app을 여러 개로 구성함으로써 app 단위의 재사용과 유지보수의 이점을 가져올 수 있음

 

$ djagno-admin startproject 프로젝트명

(ex. django-admin startproject project)

 

프로젝트 디렉토리와 몇가지 python 파일이 생성된다

 

1) settings.py 

기본적인 프로젝트 전체의 세팅과 app을 등록하는 일을 한다

 

2) urls.py

프로젝트의 url을 관리한다

 

3) manage.py 

프로젝트 대부분의 명령어가 manage.py를 통해 실행된다

 

app 생성

- app은 프로젝트를 구성하는 부분

- app 단위로 나누어 개발하기 편하고 재사용하기 편리하게 해준다

 

$ python manage.py startapp 앱명

(ex. python3 manage.py startapp app)

 

app 디렉토리가 생성하게 되면 위와 같은 파일들이 만들어지고 사용을 위해서 몇가지 설정을 해줘야한다

 

1) settings.py에 app등록하기

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app.apps.AppConfig',
]

 

settings.py에 '앱명.apps.앱이름Config'를 추가한다

 

2) template 만들기

앱 디렉토리 내에 templates 라는 디렉토리를 만들어주고 그 안에 실제 화면에 출력해줄 html 파일을 생성해준다

 

3) views.py 함수 만들어주기

def index(request):
    return render(request, 'index.html')

 

- views.py 내에 함수를 생성한다.

- index라는 함수가 호출되면 index.html을 return 한다

- view는 사용자의 요청을 처리해주는 역할을 하는데 url을 통해 사용자의 요청이 어떤 화면을 view라는 화면을 띄워달라는 요청일 때, index.html 화면을 띄워주도록 처리해주는 함수이다.

 

4) urls.py

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', app.views.index, name='index')
]

- url을 통해 입력된 사용자의 요청을 view의 어떤 함수에 넘길지 설정해준다.

- 먼저 앱명.views 파일을 import 해주고 path를 추가해준다

- path('url 주소', '앱이름.views.함수명', 이름)의 형식으로 작성하며 name에 들어가는 이름은 templates 변수로 사용할 수 있다

 

지금까지 순서는 아래와 같다.

프로젝트 생성 -> app생성 -> settings.py에 app등록 -> templates 디렉토리와 html파일 생성 -> views.py에 함수 생성 -> urls.py에 template 등록

 

app을 추가했을 때

app생성 -> settings.py에 app등록 -> templates 디렉토리와 html파일 생성 -> views.py에 함수 생성 -> urls.py에 template 등록

 

view 또는 html파일을 새로 생성했을 때

templates 디렉토리와 html파일 생성 -> views.py에 함수 생성 -> urls.py에 template 등록

 

와같은 절차를 거친다.

 

로컬 서버 실행

$ python manage.py runserver 

 

명령어를 통해 로컬 서버로 현재까지 만든 애플리케이션을 실행할 수 있다.

실행한 애플리케이션은 '127.0.0.1:8000' 또는 'localhost:8000'을 브라우저 url에 입력해 확인할 수 있다.

'Web Programming > django' 카테고리의 다른 글

[Django] CRUD Operation(2)  (0) 2020.06.20
[Django] CRUD Operation(1)  (0) 2020.06.19
[Django] Model  (2) 2020.06.19
[Django] 클라이언트 요청 처리  (2) 2020.06.19
[Django] 가상환경 준비  (0) 2020.06.18

댓글