파이썬 장고 실무 기초 1주차
파이썬 웹 프레임워크
웹 프레임워크?
프레임워크는 개발을 도와주는 하나의 틀
👉 결과물을 일정한 형태로 만들 수 있도록 도와줌
👉 때문에 우리가 비슷한 방법과 방식으로 완성 된 형태를 만들 수 있음
파이썬 웹 프레임워크의 종류
- 최소한의 기능만 제공하는 형태
서버를 만들기 위한 최소한의 기능들만 제공하는 철학을 가지고있는 프레임워크들입니다.
ex) Flask
- 이미 많은 기능들을 제공하고 있는 형태
웹서비스에 공통적으로 필요한 부분들이 미리 구현되어 있습니다.
ex) Django
Django 알아보기
장고의 MVT 패턴
- M (Model)
- 데이터베이스의 모델 (ORM)
- 저장되고 사용되는 데이터의 형태
- T (Template)
- 사용자에게 보여지는 부분
- 화면
- V (View)
- 실질적으로 프로그램이 동작하는 부분
- url을 요청하고 응답하는 그 사이에 일어나는 '서비스'들이 존재하는 곳
ORM
Django의 ORM은 Python으로 데이터베이스 클래스 모델을 만들고, 만든 모델을 바탕으로 자동으로 데이터베이스를 다룰 수 있도록 도와준다...
ex) 글쓰기 모델 예제
class Post:
id = IntegerField()
title = CharField()
author = CharField()
context = TextField()
Django 프로젝트 만들기
VSCODE에서 Django 사용하기
1) 폴더에서 가상환경 설치
2) 가상환경 실행
4) 장고 설치
pip install django
4-1) 장고 버전 확인
python -m django --version
5) 장고 프로젝트 만들기
django-admin startproject '프로젝트명'
외부 <프로젝트명> - 프로젝트의 컨테이너 * 원하는 이름으로 변경 가능
내부 <프로젝트명> - 프로젝트의 실제 파이썬 패키지 입니다. (예시 : mysite.urls)
mysite/__init__.py - 현재 디렉토리를 파이썬 패키지로 인식하기 위한 빈 파일
(중요)mysite/settings.py - 현재 장고 프로젝트의 설정 / 구성
(중요)mysite/urls.py - 현재 장고 프로젝트의 URL 선언
mysite/wsgi.py - WSGI 호환 웹 서버가 프로젝트를 제공하기 위한 진입 파일
manage.py - 현재 장고 프로젝트와 다양한 방식으로 상호 작용하는 명령 유틸리티
5-1) python manage.py migrate
6) cd 프로젝트명 후 장고 서버 실행
python manage.py runserver # 127.0.0.1:8000
python manage.py runserver 5000 # 127.0.0.1:500
python manage.py runserver 192.168.0.10:5000 # 192.168.0.10:5000
하고 http://127.0.0.1:8000/ 주소로 들어가면
화면 띄우기
views.py
파일 만들기 - 뷰!
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'), # 추가
]
코드 추가해주기
http://127.0.0.1:8000/test/ 주소로 들어가면
html 파일 띄우기
templates
폴더 만들기
# settings.py
TEMPLATES = [
{
...
'DIRS': [BASE_DIR / 'templates'],
...
},
]
<!-- my_test.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>테스트 페이지</title>
</head>
<body>
<h3>테스트 페이지 입니다! 장고를 사용했어요!</h3>
</body>
</html>
# 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')
# urls.py
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/first로 들어가면
으엥? 안 되는데?
하고 다시 보니까 templates를 잘못된 위치에 만들어버렸다...
다시 제대로 된 위치에 만들고 도전
야호!
첫 장고 체험 성공~
GitHub 댓글