본문 바로가기
🤖 자동화 & 인공지능/웹개발- Django

[Django, 웹개발] Django 웹개발 순서

by 밤바라 2020. 2. 24.

 

기본전제
 - 파이썬 설치 & Django 설치완료
 - 가상환경 구축

Django 는 우측 그림과 같이 Architecture 구성되어있음

웹브라우저에서 주소를 치면 (url입력)

어떠한 주소를 쳤는지 URL dispatcher에서 해당 주소의

view내 정의한 함수로 연결됨.

view에서 정의한 함수에서 model에 정의한 변수들을

불러와서 응용함.

 

Model 은 데이터베이스에 어떻게 넣어줄지를 정함

(db 모델이라고 생각하면 쉬움)

 

 

 

아래는 Folder의 Structure임.

Django Folder Structure

 


1. 터미널에서 python manage.py startproject project명

2. settings.py 열어서 code 수정

ALLOWED_HOST = ['127.0.0.1']

LANGUAGE_CODE = 'ko'

TIME_ZONE = 'Asia/Seoul'
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'todo_db',
        'USER': 'root',
        'PASSWORD' : 'minsu356',
        'HOST' : 'localhost',
        'PORT' : '3306',
        'OPTIONS': {
            'init_command': 'SET sql_mode="STRICT_TRANS_TABLES"'}
    }
}

 

3. 터미널에서 python manage.py migrate

4. 터미널에서 python manage.py startapp App명 

   * App명은 Project명과 다르게해야 헤깔리지 않음.

5. 여기까지하면 아래 그림과 같이 형성됨(나는 Project명을 todo, App명을 tasks로 했음)

Hierarchy

6. App 폴더 내 urls.py (sub)를 생성하고 최초 웹페이지 접속 시 나타날 화면 구성

from django.urls import path
from . import views

urlpatterns = [
     path('', views.index)
]

7. Project 폴더 내 ulrs.py (Main) 에 sub 경로를 추가시켜 항상 sub에서 동작하도록 구성

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('tasks.urls'))
]

 

8. views.py 파일 내 위에서 불러온 index 함수를 정의해서 웹페이지 접속(요청)시 띄울 내용을 기재

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.

def index(request):
    return HttpResponse('hello world!')

 

728x90
반응형