본문 바로가기
Python/Django

PYthon의 Django를 알아보자!

by K-밍키 2022. 5. 26.

Django를 이용한 웹개발을 시작하기 전에 Django에 대해 알아보자.


1. Django란?

 : Django는 Python으로 만들어진 Web Framework

 

2. Framework란?

 : 개발을 도와주는 하나의 틀

 

3. Python의 대표적 Framework

 : Flask, Fast API, Django

 

4. 다시! Django란?

 : 많은 유틸(ADMIN, 로그인, DB)들이 이미 포함된 Framework

 

5. Django의 패턴(MVT == Model, View, Template)

 5-1. Model : DB에 저장되고 사용되는 형태, ORM(Object-Relational Mapping) / models.py

 5-2. View : url을 요청하고 응답하는 그 사이에 일어나는 '서비스'들이 존재하는 곳 / views.py

 5-3. Template : 사용자에게 보여지는 화면 또는 정보 / template 폴더 내 html

MVT패턴 흐름

 

6. ORM(Object-Relational Mapping) 이란?

 : 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것, 객체는 Class를 사용하여 만들고 관계형 객체 간의 관계를 바탕으로 SQL을 자동으로 생성

# 예시
# tweet/models.py

from django.db import models
from user.models import UserModel
from taggit.managers import TaggableManager


# Create your models here.

class TweetModel(models.Model):
    class Meta:
        db_table = "tweet"

    author = models.ForeignKey(UserModel, on_delete=models.CASCADE)
    content = models.CharField(max_length=256)
    tags = TaggableManager(blank=True)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
SQL이란?
https://edu.goorm.io/learn/lecture/15413/%ED%95%9C-%EB%88%88%EC%97%90-%EB%81%9D%EB%82%B4%EB%8A%94-sql/lesson/767683/sql%EC%9D%B4%EB%9E%80

 

7. PyCharm 에서 Django 프로젝트 구조

Django 프로젝트 구조 캡쳐

 

 7-1. settings.py 내용

  • INSTALLED_APPS : 장고에 설치 된 앱들
  • MIDDLEWARE : 사용자 요청/응답 사이에서 작동하는 시스템들
  • TEMPLATES : 나의 html파일을 자동으로 인식
  • DATABASES -:내가 사용할 데이터베이스 연동 설정
  • AUTH_PASSWORD_VALIDATORS : 패스워드 보안 수준 검증
  • LANGUAGE_CODE : 화면에 어떤 언어를 보여줄것인지
  • TIME_ZONE : 우리가 어떤 시간에 있는지

 

 7-2. urls.py 내용

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

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