하나의 글에 배웠던 모든 내용과 코드를 작성할 경우 글이 너무 길어지기 때문에 핵심적인 내용만 요약해서 정리할 예정입니다. 과정을 마무리하는 단계에서 지금(현재 6주차)까지 배웠던 내용을 주제별로 나눈다면 다음과 같습니다.
week1: 가상환경, 프로젝트 세팅
week2: Model, View, Template, 템플릿 상속
week3: ORM,
week4: FBV, CBV
week5: Authentication
Django는 Flask, FastAPI와 더불어 인기있는 Python 웹 개발 프레임워크 중의 하나입니다. 2003년 Adrian Holovaty와 Simon Wilison에 의해 개발되었으며 Model-View-Template
패턴을 사용합니다.
Batteries Included
Django ORM
, MiddleWare
, Authentication
, HTTP Library
, Security
등을 제공하므로 개발자는 필요한 비즈니스 로직 개발에 더욱 집중할 수 있습니다. 최소의 기능만을 제공하여 마이크로서비스 아키텍처 구현에 자주 사용되는 Flask
와 같은 프레임워크와 뚜렷하게 대비되는 특징입니다.SQL Injection
, cross-site request forgery attcks
같은 공격에 방어하기 위한 다양한 Security 기능을 제공합니다.# 설치환경
OS: Linux ubuntu 20.04
Python version: 3.8
IDE: Pycharm
프로젝트명: CreativeBlog
가상환경명: v310Dj4CreativeBLog
1. 프로젝트 가상환경 폴더 생성
프로젝트마다 가상환경이 다를 수 있으므로 여러개의 가상환경들을 담을 venv
폴더를 생성 후 CreativeBlog
프로젝트의 가상환경으로는 v310Dj4CreativeBLog
을 생성합니다.
2. Django project 생성
pycharm professional 버전의 경우 new project
를 클릭하면 왼쪽패널 상단에 Django
프로젝트를 생성할 수 있습니다. 가상환경으로는 Virtualenv
를 사용하였고 이 외에도 Pipenv
, Poetry
, Conda
등을 선택할 수 있습니다.
프로젝트 생성 결과
Pycharm professioal 버전의 경우 프로젝트를 생성하면 아래 커맨드를 따로 입력하지 않아도 자동으로 프로젝트를 생성해줍니다.
django-admin startproject CreativeBlog
CreativeBlog 프로젝트를 관리하는 manage.py
라는 이름의 메인 스크립트 파일의 runserver
와 manage.py
를 이용하여 아래와 같이 개발용 웹서버를 실행할 수 있습니다.
python manage.py runserver
서버가 실행되고 http://127.0.0.1:8000 으로 접속하면 아래와 같은 모습이 보여야합니다.