코딩공부/Python Django

[django 기초] project 생성, app 생성, hello world 띄우기, MTV 패턴

integerJI 2020. 2. 13. 23:00

[django 기초] project 생성, app 생성, hello world 띄우기


vscode 설치하기 : https://integer-ji.tistory.com/65

python 설치하기 : https://integer-ji.tistory.com/64

git 설치하기 : https://integer-ji.tistory.com/66

 

vscode 설정하기 : https://integer-ji.tistory.com/81


Django를 이용해 project 만들기

django-admin startproject crudproject

 

pip 업그레이드가 완료되었다면 django-admin을 이용해 project를 만들어 줍니다.

 

crudproject라는 이름의 프로젝트를 만들어 주었는데

 

이 또한 마찬가지로 project라고 적지 않으면 헷갈리기 때문에 뭐뭐뭐 project라고 지어줍니다.

 

django 서버 작동

cd crudproject

python manage.py runserver

 

cd 명령어를 통해 방금 생성한 crudproject로 이동한 후 ( 경로 주의 ) runserver를 해줍니다.

 

crudproject안에 들어있는 manage.py를 이용하기 때문에 cd로 manage.py가 있는 위치로 이동해주어야 합니다.

 

이제 터미널 하단에 Starting development server at http://127.0.0.1:8000/

 

ctrl을 누르고 해당 주소를 누르면

 

 

 

로켓이 움직이는 화면이 나오면 성공입니다. ( 잘 설치되었다는 뜻 )

 

ctrl + c를 눌러 서버를 닫아줍니다.

 

 

app 만들기

python manage.py startapp crudapp

 

crudapp 앱 생성

 

project와 app 이어주기

crudproject/settings.py

# settings.py 파일을 수정합니다.
# settings.py안의 INSTALLED_APPS 안에 아래의 내용을 입력하여 줍니다.

crudapp.apps.CrudappConfig

# 뜻은 crudapp 폴더 아래의 apps 파일 안에있는 CrudappConfig를 가져와라

crudproject/settings.py - INSTALLED_APPS 안에 Config 추가하기

(2020.12.30 settings.py 파일 수정 내용 다듬기 + 추가)

 

※ 주의 

CrudappConfig - ( 맨 앞 대문자, Config 할 때 C 대문자 )

, ( 쉼표 ) - ( , 로 시작해서 ,로 끝난다. 꼭 ,를 붙이기 )

 

app에 templates 폴더 추가 폴더 안에 home.html 만들기

templates라는 폴더(s 주의)를 crudapp 아래에 만들고 그 안에 home.html 파일 만들기

 

<h1>hello world</h1>

home.html에는 간단한 hello world를 넣어 저장

 

view.py에 home란 이름의 함수 만들기

# view.py
from django.shortcuts import render

# Create your views here.

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

 

app아래에 있는 view.py에 home이라는 함수 추가

 

이 home는 요청이 들어오면 home.html을 실행

 

project의 urls.py와 app의 views.py 연결하기

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

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

crudproject의 urls.py에 

 

앱과 프로젝트는 각각 다른 폴더이니 서로 연결

 

 

runserver

 

-----------------------------------------------------------------------------------------------------------------------------------

 

Model의 M, View의 V, Template의 T

 

MVT 패턴의 V와 T를 사용

 

V는 views.py로 메서드로 구현되며 웹이나 데이터베이스에서 온 요청을 처리한다. 

 

최종으로는 데이터를 html로 변환하기 위해 템플릿 처리를 한 후 html로 된 응답 데이터를 웹 클라이언트로 반환한다. 

 

T는 templates폴더를 말한다.

 

화면 UI를 설계하며 디자이너와 공간을 구분 지어 작업을 할 수 있다.

 

view에서 데이터를 원하는 형식으로 받아오면 화면에 디자인을 하여 이쁘게 꾸며 정보를 보여준다.