Django

Django 기초 1주차_Sparta Coding Club

끈끈 2023. 4. 3. 16:30

 

용어 정리

클라이언트 : 요청을 보내는 곳

서버 : 요청을 받아서 응답해 주는 곳

API : 데이터를 어떻게 주고받자 라고 정한 약속

 

웹의 동작 구조

요청 (Request) :

클라이언트 → 서버

 

응답 (Response) :

서버 → 클라이언트

 


 

Python의 Web Framework

 

Web Framework

 

개발을 도와주는 하나의 틀

 

Python Web Framework 종류

 

flask / Pyramid

  • 최소한의 기능만 제공(경량)
  • 로그인, DB 등의 관리를 직접 해줘야 함
  • 관리자 페이지 구축 따로 필요

 

Django

  • 이미 많은 기능을 제공
  • DB, 로그인, Admin, 패스워드 암호화 등 이미 제공
  • 커뮤니티와 문서가 잘 되어있음

 


 

장고의 MVT 패턴

출처 : 스파르타코딩클럽

 

M (Model)

 

DB와 연결된 부분

 

T (Template)

 

사용자에게 보여지는 부분

 

V (View)

 

프로그램이 동작하는 부분

 

ORM

 

쿼리(데이터베이스를 다루기 위해 사용하는 언어)를 작성하지 않아도 된다

class Post:
    id = IntegerField()
    title = CharField()
    author = CharField()
    context = TextField()

 


 

장고 프로젝트 만들기

 

Pycharm

왼쪽 프로젝트 분류 목록에서 [Django]

 

settings.py : 장고 전체의 setting을 설정/관리하는 곳

urls.py : 장고의 접속할 수 있는 url(API)을 만들고 관리하는 곳

 

urls.py:

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('test/', views.base_response, name='first_test'),
    path('first/', views.first_view, name='first_view')
]

http://127.0.0.1:8000/test

http://127.0.0.1:8000/first

 

views.py:

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

def base_response(request):
    return HttpResponse("안녕하세요! 장고의 시작입니다!")

def first_view(request):
    return render(request, 'my_test.html')

HttpResponse() : 괄호 안의 내용을 인터넷 창 화면에 보여주는 역할

render() : template에 있는 html 파일을 찾아서 보여줌