MacOS Catalina 10.15.5
Python 3.9.1
Django 3.1.5
PostgreSQL 13
psycopg2-binary 2.8.6
$ python --version
만약 No moduel named python이라고 나오면 파이썬 공식 홈페이지에서 파이썬을 설치해야 합니다.
$ sudo easy_install pip
$ pip install -U pip
$ sudo pip install virtualenv
$ mkdir (parent_dir_name)
$ cd (parent_dir_name)
$ virtualenv venv
$ source venv/bin/activate
$ deactivate
$ cd (parent_dir_name)
$ source venv/bin/activate
$ python -m pip install Django
$ django-admin startproject (project_dir_name)
$ python manage.py runserver (IP:port)
웹 브라우저에서 http://127.0.0.1:8000/ 에 접속합니다.
이런 이미지가 뜨면 Django가 잘 설치된 겁니다.
$ cd (project_dir_name)
$ pip freeze > requirements.txt
$ pip install -r requirements.txt
$ brew install postgresql
$ psql
# create database (project_dir_name);
# create user (username) with password (password);
# alter role sunclock set client_encoding to 'utf8';
# alter role sunclock set default_transaction_isolation to 'read committed';
# alter role sunclock set timezone to 'utc';
# grant all privileges on database (project_dir_name) to sunclock;
# \q
$ pip install psycopg2-binary
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': '(project_dir_name)',
'USER': '(username)',
'PASSWORD': '(password)',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
$ python manage.py makemigrations
$ python manage.py migrate
$ psql
# \l ---> DB 목록 조회하기
# \c (project_dir_name) ---> Django Project DB 접속하기
# \dt ---> 테이블 조회하기
# \du ---> 계정 목록 조회하기
{
"FILENAME":"secrets.json",
"SECRET_KEY": "(secret key at settings.py)",
"DATABASES_HOST": "127.0.0.1",
"PORT": "5432"
}
# settings/base.py
import json
from pathlib import Path
from django.core.exceptions import ImproperlyConfigured
# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent
#Secret module based on JSON
secret_file = BASE_DIR / 'secrets.json'
with open(secret_file) as f:
secrets = json.loads(f.read())
def get_secret(setting, secrets=secrets):
"""get secret key or return explicit exception"""
try:
return secrets[setting]
except KeyError:
error_msg = "Set the {0} environment variable".format(setting)
raise ImproperlyConfigured(error_msg)
SECRET_KEY = get_secret("SECRET_KEY")
(...)
$ cd (project_dir_name)
$ vi .gitignore
secrets.json
원격 저장소 만들기
Github에 프로젝트를 보관할 repository를 만든다.
로컬 저장소 만들기
$ cd (project_dir_name)
$ git init
$ git remote add origin https://github.com/(Github_username)/(Github_repository_name).git
$ git add *
$ git commit -m 'initial commit'
$ git push -u origin master
배포 시 둘 중 하나를 선택한다.
파이썬 초심자를 위한 PIP 그리고 Virtualenv 소개
파이썬 3.9.1 공식 문서
virtualenv 공식 문서
Django 3.1 공식 문서
Psycopg 2.8.7.dev0 공식 문서
modwsgi 공식 문서
ZETAWIKI - PostgreSQL
POSTGRESQL과 DJANGO 연동(장고 데이터베이스 연동하기)
깃허브 사용해 보기
.gitignore generator
Django - settings.py 의 SECRET_KEY 변경 및 분리하기
Roy Greenfeld, D., & Roy Greenfeld, A. (2015). Two scoops of Django. Los Angeles: Two scoops press.