Django 구성 요소 별 관계/흐름
URL, View, Template, Model 설정
1. 어플리케이션 path를 프로젝트 settings 에 추가
✔️ URL은 사용자의 요청을 특정 뷰와 매핑해주어야 한다.
이를 위해 프로젝트의 urls.py와 각 앱의 urls.py 파일에 URL 패턴을 정의한다!
- 프로젝트 디렉토리 내, urls.py 로 접속 : ToDoList(프로젝트) > ToDoList(프로젝트) > urls.py
- urlpatterns에 path 추가 (아래 이미지 참고)
2. 생성한 어플리케이션 폴더에 urls.py 생성
👉 1단계에서 생성한 url 파일을 앱 폴더에 생성한다고 생각하면됨!
- 어플리케이션 폴더 우클릭 > 새파일 > urls.py 생성
3. urls.py 에 URL 패턴을 정의
- 2단계에서 만든 urls.py 에 URL 패턴을 정의
- ToDoList(프로젝트) > my_to_do_app(앱) > urls.py(파일) 에 다음을 작성
# -*- coding:utf-8 -*-
from django.urls import path
from . import views
urlpatterns = [
path('', views.index) #views.py 파일에서 Index 함수를 찾아!
]
4. view.py 파일 정의
👉 view란?
- 사용자가 볼 수 있는 화면 구성으로, views.py 파일에 정의됨
- 웹 애플리케이션의 비즈니스 로직을 처리하는 부분
- 사용자 요청을 처리하고, 데이터를 조회/수정하며, 템플릿에 데이터를 넘겨줌
- 경로 : 프로젝트(ToDoList) > 앱(my_to_do_app) > views.py
- 입력 예시 :
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):
return HttpResponse("나의 첫번째 페이지")
5. 개발 서버를 실행하여 테스트
- $ python manage.py runserver
- command + 주소 클릭
6. 템플릿 작성
👉 템플릿이란?
- 사용자에게 보여지는 HTML 문서를 작성하는데 사용
- 템플릿에서는 필요한 데이터를 적절하게 렌더링하여 사용자에게 동적인 웹 페이지를 제공
- 일반적으로, 프로젝트와 앱의 템플릿 디렉토리를 다음과 같은 구조로 유지
project_name/
|-- project_name/
| |-- settings.py
| |-- urls.py
| |-- ...
| +-- templates/ # 프로젝트 템플릿 디렉토리
|-- app_name1/
| |-- models.py
| |-- views.py
| |-- ...
| +-- templates/ # 첫 번째 앱의 템플릿 디렉토리
|-- app_name2/
| |-- models.py
| |-- views.py
| |-- ...
| +-- templates/ # 두 번째 앱의 템플릿 디렉토리
+-- ...
- 템플릿 위치 예시
7. 모델 정의 : models.py 작성
👉 모델이란?
- Django의 핵심 요소 중 하나는 데이터 모델링!
- 데이터베이스에 저장되는 데이터 구조를 정의하기 위해 모델을 작성 (테이블 생성 개념)
- 이를 models.py 파일에 정의하며, 각 모델은 Python 클래스로 표현.
- 프로젝트(ToDoList) > 앱(my_to_do_app) > models.py
- models.py 에 아래 예시와 같이 작성
from django.db import models
# Create your models here.
class Todo(models.Model): #model명은 자유이나, 괄호 안 내용은 필수
content = models.CharField(max_length=255) #테이블생성과 유사, 여기에 입력된 데이터를 쌓음
8. Model을 DB에 반영
- 모델을 정의한 후에는 이를 데이터베이스 스키마로 반영해야 함
- 아래 명령어를 입력
$ python manage.py makemigrations
$ python manage.py migrate
9. SQLite 실행
- $ python manage.py dbshell
- Django 프로젝트에서 데이터베이스 쉘을 실행하는 명령
- 데이터베이스와 상호작용할 수 있는 쉘 환경이 열림 👉 Django가 설정된 데이터베이스에 액세스하여 SQL 쿼리를 실행하거나 데이터를 확인할 수 있음
- 실행 결과 아래와 같음
- .table
- SQLite 데이터베이스의 모든 테이블을 나열
- PRAGMA table_info(my_to_do_app_todo);
- SQLite 데이터베이스에서 특정 테이블의 열(컬럼) 정보를 가져옴
- 각 열에 대한 정보로는 열 이름, 데이터 타입, 기본값, Null 허용 여부 등이 포함됨
728x90
'Web Development' 카테고리의 다른 글
[Django] 엑셀 데이터 출력 페이지 만들어보기(3) (0) | 2023.08.01 |
---|---|
[Django] 엑셀 데이터 출력 페이지 만들어보기(2) (0) | 2023.07.31 |
[Django] 엑셀 데이터 출력 페이지 만들어보기(1) (0) | 2023.07.31 |
Django로 To do list 만들기 (1) | 2023.07.27 |
Django 환경설정(1) : 프로젝트 생성, 어플리케이션 생성 (0) | 2023.07.26 |