웹 프레임워크 Django(장고) 공부
개발 언어 : python 3.8.1
개발 환경 : Visual studio Code
참조 : 장고걸스 튜토리얼
Django(장고)란?
Django(/dʒæŋɡoʊ/ jang-goh/쟁고/장고)는 파이썬으로 만들어진 무료 오픈소스 웹 애플리케이션 프레임워크(web application framework)이다. 쉽고 빠르게 웹사이트를 개발할 수 있도록 돕는 구성요소로 이루어진 웹 프레임워크이다.
파이썬, 장고, VS code(visual studio code)를 미리 설치 해놓아야한다.
설치법이 궁금하다면 구글링을 해보자. 구글구글
Django 설치하기
가상환경(Virtual Environment)
Virtualenv(= Virtual Environment)는 프로젝트 기초 전부를 Python/Django 와 분리해준다. 즉, 웹사이트가 변경되어도 개발 중인 것에 영향을 미치지 않는다.
windows
virtualenv
를 생성하려면 콘솔 창을 열고C:\Python35\python -m venv myvenv
를 실행command-line
C:\Users\Name\djangogirls> C:\Python35\python -m venv myvenv
여기서
C:\Python35\python
은 이전에 파이썬을 설치 한 디렉토리이고myvenv
는virtualenv
의 이름이다. 다른 이름을 사용해도 되지만 알파벳 소문자를 사용하고 공백, 악센트 또는 특수 문자는 사용하지 말자. 자주 입력해야하므로 가상환경의 이름은 되도록 짧게 하자.linux / OS X
리눅스와 맥에서virtualenv
를 생성하려면 간단하게python3 -m venv myvenv
를 입력하면 된다command-line
$ python3 -m venv myvenv
Note Debian/Ubuntu에서 아래와 같은 오류가 발생할 수 있다.
The virtual environment was not created successfully because ensurepip is not available. On Debian/Ubuntu systems, you need to install the python3-venv package using the following command. apt install python3-venv You may need to use sudo with that command. After installing the python3-venv package, recreate your virtual environment.
이 경우, 위의 지시에 따라
python3-venv
패키지를 설치하자.command-line
$ sudo apt install python3-venv
Note Debian/Ubuntu의 일부 버전에서 이와 같이 가상 환경을 초기화하면 현재 다음과 같은 오류가 발생한다. :
command-line
Error: Command '['/home/eddie/Slask/tmp/venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1
command-line
$ sudo apt install python-virtualenv $ virtualenv --python=python3.6 myvenv
Note 아래와 같은 오류가 발생한다면
이 문제를 해결하려면
virtualenv
명령을 사용:command-line
command-line
E: Unable to locate package python3-venv
아래 명령어를 실행
command-line
sudo apt install python3.6-venv
가상환경 실행하기
windows
C:\Users\Name\djangogirls> myvenv\Scripts\activate
Note Windows 10 사용할 경우, Windows PowerShell에서 '이 스크립트는 이 시스템에서 실행되지 않습니다.'라는 오류 메시지가 표시 될 수 있습니다. 이 경우 "관리자 권한으로 실행"옵션을 사용하여 다른 Windows PowerShell을 연다. 그런 다음 가상 환경을 시작하기 전에 다음 명령을 입력하자
C:\WINDOWS\system32> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Linux / OS X
아래 명령어를 입력해 가상환경을 실행하세요. :
$ source myvenv/bin/activate
Note 가끔씩 source가 사용할 수 없을 수도 있습니다. 이 경우에는 아래와 같이 입력하자
$ . myvenv/bin/activate
장고 설치하기
pip 최신버전 설치하기
(myvenv) python -m pip install --uptrade pip
장고 설치하기
(myvenv) ~$ pip install django~=2.0.0
장고 프로젝트 만들기
장고에서는 디렉토리와 파일명이 매우 중요하다. 파일명을 마음대로 변경해서도 안되고 다른 곳으로 옮겨서도 안된다. 장고는 중요한 것들을 찾을 수 있게 특정 구조를 유지해야 한다.
터미널에 아래와 같이 입력하자.
django-admin startproject mysite .
스크립트 실행 후에는 아래와 같은 새로운 디렉토리 구조를 볼 수 있다.
djangogirls
├───manage.py
└───mysite
settings.py
urls.py
wsgi.py
__init__.py
manage.py
: 사이트 관리를 도와주는역할, 이 스크립트로 다른 설치 작업 없이 컴퓨터에서 웹 서버를 시작할 수 있다.
settings.py
: 웹사이트 설정이 있는 파일이다.
urls.py
: urlesolver
가 사용하는 패턴 목록을 포함하고 있다.
설정 변경
mysite/settings.py
TIME_ZONE = 'Asia/Seoul'
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
ALLOWED_HOSTS = ['127.0.0.1', '.pythonanywhere.com']
데이터베이스 설정하기
python manage.py migrate
python manage.py runserver
- https://127.0.0.1:8000 으로 접속