[Django/Blog] Virtualenv & Django 설치 및 프로젝트 생성
WEB

[Django/Blog] Virtualenv & Django 설치 및 프로젝트 생성

Django란?

파이썬으로 만들어진 무료 오픈소스 웹 애플리케이션 프레임워크(web application framework).

 

 

웹 서버에 request를 보내면 일어나는 일

웹 서버에 request가 옴 -> django로 전달 -> django urlresolver는 웹 페이지의 주소를 가져와 무엇을 할지 확인

-> urlresolver는 패턴 목록을 가져와 URL과 맞는지 대조하고 일치하는 패턴이 있으면 해당 요청을 관련된 view에 넘겨줌 -> view 함수에서는 request 받은 내용을 확인해서 권한 확인 후 데이터를 바꾸거나, 추가 -> view는 '답장'을 다시 사용자의 웹 브라우저에 보냄

 

 

가상환경(Virtual environment)

가상환경(Virtual environment, virtualenv)는 프로젝트 기초 전부를 python/django와 분리해줌. 즉 자신이 원하는 python, django 환경을 구축하기 위해 필요한 모듈만 담아 놓는 바구니라고 생각하면 됨. 아래 사진 상단의 python virtual envs처럼 각 가상환경(virtualenv 1, 2, 3..)은 독립적으로 관리됨. 다시 정리하면 가상환경을 사용하는 이유는, 같은 모듈을 사용한다고 하더라도 다른 버전을 필요로 한다거나, python 프로그램을 실행하기 위한 최소한의 환경을 마련하고자 할 때나, GitHub등의 저장소나 네트워크와 연계하고자 할 때 등으로 매우 다양.

 

 

출처:  https://django-easy-tutorial.blogspot.kr/2015/08/python-virtual-environment-setup-in-ubuntu.html

 

 

 

myenv라는 이름의 가상환경 생성하기 & Django 설치하기

(OS: Linux)

//make directory named djangogirls
$mkdir djangogirls
$cd djangogirls

//make virtualenv named myenv
$python3 -m venv myvenv

//activate virtualenv -> if successed, there will be a prefix, (myvenv) 
$source myvenv/bin/activate

//check pip version
(myvenv) ~$python3 -m pip install --upgrade pip

//install django
(myvenv) ~$pip install django~=2.0.0

 

 

Virtualenv 실행

$source myvenv/bin/activate

 

 

Django 프로젝트 시작하기

//'.' means "install django in the current directory"
//django-admin.py is script, creating directories and files
(myvenv) ~/djangogirls$ django-admin startproejct mysite . 

 

//result
djangogirls
├───manage.py //script, manage site, can start web server
└───mysite
        settings.py //includes website setting
        urls.py //include patterns which urlresolver use
        wsgi.py 
        __init__.py

 

 

Setting 변경

//mysite/settings.py

//change current time
TIME_ZONE = 'Asia/Seoul'

//change language
LANGUAGE_CODE = 'ko'

//add path of static file
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

//when DEBUG = True && ALLOWED_HOSTS = []
//the host is validated against ['localhost', '127.0.0.1', '[::1]']
//this won't match our hostname on PythonAnywhere. So change..
ALLOWED_HOSTS = ['127.0.0.1', '.pythonanywhere.com']

 

 

Database 설정

//sqlite3 database software, default one
//already in the file mysite/settings.py
DATABASES = {
	...
}

//create database in blog
//don't forget to activate virtualenv
(myvenv) ~/djangogirls$ python manage.py migrate

 

 

Web Server 시작

//start web server
(myvenv) ~/djangogirls$python manage.py runserver

 

브라우저에서 http://127.0.0.1:8000/ 를 열어준다.

 

http://127.0.0.1:8000/

 

 

참고

 

https://medium.com/@psychet_learn/python-%EA%B0%80%EC%83%81%ED%99%98%EA%B2%BD-a87fc6e4d12b

https://tutorial.djangogirls.org/ko/installation/

 

 

728x90
반응형

'WEB' 카테고리의 다른 글

[Django/Blog] 관리자 설정  (0) 2019.12.07
[Django/Blog] Model 생성  (0) 2019.12.07
[WEB] SEO (search engine optimization) 검색 엔진 최적화  (0) 2019.11.17
[WEB] Semantic(의미론적인) Web  (0) 2019.11.16
[React] React와 Virtual DOM  (0) 2019.11.13