[Django] 가상환경, 프로젝트 세팅
코멘토 부트캠프의 Django 개발 실무과정을 듣고 배웠던 내용을 주차별로 나누어 정리해보려합니다.
코멘토 직무 부트캠프 바로가기
하나의 글에 배웠던 모든 내용과 코드를 작성할 경우 글이 너무 길어지기 때문에 핵심적인 내용만 요약해서 정리할 예정입니다. 과정을 마무리하는 단계에서 지금(현재 6주차)까지 배웠던 내용을 주제별로 나눈다면 다음과 같습니다.
week1: 가상환경, 프로젝트 세팅
week2: Model, View, Template, 템플릿 상속
week3: ORM,
week4: FBV, CBV
week5: Authentication
week6: AWS 배포
Django란 무엇인지
Django는 Flask, FastAPI와 더불어 인기있는 Python 웹 개발 프레임워크 중의 하나입니다. 2003년 Adrian Holovaty와 Simon Wilison에 의해 개발되었으며 Model-View-Template
패턴을 사용합니다.
Batteries Included
- Django는 웹 개발에 기본적으로 필요한 대부분의 라이브러리와 도구가 이미 구현되어 있습니다. 예를들어
Django ORM
,MiddleWare
,Authentication
,HTTP Library
,Security
등을 제공하므로 개발자는 필요한 비즈니스 로직 개발에 더욱 집중할 수 있습니다. 최소의 기능만을 제공하여 마이크로서비스 아키텍처 구현에 자주 사용되는Flask
와 같은 프레임워크와 뚜렷하게 대비되는 특징입니다.
Django의 장점
- 코드 구조는 매우 효율적이며 개발자가 기능을 쉽게 추가할 수 있습니다.
- Django Rest Framework(DRF)를 설치하여 REST 통신이 가능합니다.
- Django는
SQL Injection
,cross-site request forgery attcks
같은 공격에 방어하기 위한 다양한 Security 기능을 제공합니다. - Numpy 등 Python DataScience Ecosystem의 다양한 라이브러리를 통합시킬 수 있습니다.
- Django는 관리자 권한의 사용자가 웹서버의 컨텐츠를 관리하기 위한 도구들을 관리자 전용 페이지에서 지원해줍니다.
- 오픈소스, 거대한 커뮤니티, 잘 정리된 개발문서
가상환경, 프로젝트 세팅
# 설치환경
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 으로 접속하면 아래와 같은 모습이 보여야합니다.
수업화면
Author And Source
이 문제에 관하여([Django] 가상환경, 프로젝트 세팅), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ithingv/Django-가상환경-프로젝트-세팅저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)