๋์์ธ ํจํด ๊ด๋ จ ์ง๋ ๊ธ ๋งํฌ
๊ฐ์ํ๊ฒฝ ์์ฑ(๋ฏธ๋์ฝ๋ค)
conda create -n "๊ฐ์ํ๊ฒฝ ์ด๋ฆ" python=3.8
conda activate "๊ฐ์ํ๊ฒฝ ์ด๋ฆ"
Database(mySQL) ์์ฑ
$ mysql -u root -p
mysql> create database NAME character set utf8mb4 collate utf8mb4_general_ci;
Django ์ค์น
$ pip install django
$ pip install mysqlclient
--> ์ดํ MySQL server์ ์ ์ํ๊ธฐ ์ํ package
Django ํ๋ก์ ํธ ์ค์
$ django-admin startproject ํ๋ก์ ํธ๋ช
$ cd ํ๋ก์ ํธ๋ช
settings.py ์ค์
IP ํ์ฉ
: ๋๋ฒ๊น
๋ชจ๋์์ ๋น์ด์๋ ALLOWED_HOSTS ๋ฆฌ์คํธ๋ ['localhost', '127.0.0.1', '[::1]'] ์๋ฏธ๊ฐ ๋๋ค(๋ก์ปฌ ํธ์คํธ์์๋ง ์ ์์ด ๊ฐ๋ฅ). ๋๋ฒ๊น
๋ชจ๋๋ฅผ ๋๋ฉด ์ง์ ํ ํธ์คํธ์๋ง ์ ์ํ ์ ์๋ค.
ALLOWED_HOSTS = ['*']
์ฃผ์์ฒ๋ฆฌ
: ์ ์ฌ์ฉํ์ง ์๋ admin page ๊ธฐ๋ฅ์ ๊ด๋ จ๋ ์ฝ๋๋ฅผ ์ฃผ์์ฒ๋ฆฌ ํ๋ค.
urls.py ์ ๋ด์ฉ๋ ์์ !
from django.urls import path urlpatterns = [ ]
my_settings.py ํ์ผ ์์ฑ
manage.py ํ์ผ๊ณผ ๋์ผํ ์์น์ my_settings.py ๋ผ๋ ์ด๋ฆ์ผ๋ก ํ์ผ์ ์์ฑํ๋ค.
settings.py ์์ ๋ ธ์ถ๋๋ฉด ์๋๋ secret_key ์ ๋ํ ์ ๋ณด๋ฅผ ๋ฐ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํจ์ด๋ค.
$ touch my_settings.py
my_settings.py์ ์ค์ ์ฐ์ฌ์ง๋ ๋ด์ฉ
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DATABASE ๋ช ',
'USER': 'DB์ ์ ๊ณ์ ๋ช ',
'PASSWORD': 'DB์ ์์ฉ ๋น๋ฐ๋ฒํธ',
'HOST': '127.0.0.1',
'PORT': '3306',
'OPTIONS': {'charset': 'utf8mb4'}
}
}SECRET_KEY = '์ํฌ๋ฆฟํค'
#settings.py์ ์๋ secret_key ๋ฅผ ์์ฑํ๋ค.
setting.py ์ my_settings.py ์ฐ๋
from pathlib import Path #๊ธฐ์กด์ settings.py ์ ์๋ ์ฝ๋
from my_settings import DATABASES, SECRET_KEY
...
DATABASES = DATABASES
SECRET_KEY = SECRET_KEY
corsheaders
๐ django-cors-headers๋ฅผ ์ค์นํ๋ค.
$ pip install django-cors-headers
๐ settings.py ์ค์
INSTALLED_APPS = [
...
'corsheaders'
]MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware',
...
]๐ CORS ์ถ๊ฐ์ค์ : settings.py ์ ์ผ ์๋ซ๋ถ๋ถ์ ์๋์ ์ฝ๋ ์ถ๊ฐ
##CORS
CORS_ORIGIN_ALLOW_ALL=True
CORS_ALLOW_CREDENTIALS = TrueCORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
)CORS_ALLOW_HEADERS = (
'accept',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
)
์๋ฒ ๊ตฌ๋ ํ ์คํธ
$ python manage.py runserver
.gitignore ์์ฑ
https://www.toptal.com/developers/gitignore ์ ์ํ์ฌ,
์๋์ ํค์๋ ์ถ๊ฐ ํํ Create!
python, pycharm, VisualStudioCode, vim, macOS, Linux, zsh
create ํ์ฌ ๋์จ ๋ด์ฉ .gitignore ํ์ผ ์์ฑ ํ ํ์ผ์ ๋ด์ฉ์ผ๋ก ๋ถ์ฌ๋ฃ๊ธฐ (.gitignore์ ์์น๋ manage.py, my_settings.py ์ ๋์ผํ ์์น์ ์์ฑํ๋ค.)
๋ถ์ฌ๋ฃ๊ธฐ ํ ๋ด์ฉ ์ ์ผ ์๋ซ ๋ถ๋ถ์ "my_settings.py" ์ถ๊ฐํ๋ค.