๐์ฅ๊ณ ๋ก ํ๋ก์ ํธ ์ด๊ธฐ์ธํ
์์ฝ๋ ํ๋ก์ ํธ ์ฅ๊ณ ์ด๊ธฐ์ธํ
์ ๋ฆฌ๐๐ป
์์ฝ๋์ธ์
๋งํฌ
1. ์ด๊ธฐ ์ค์นํ์ผ
1-1. ์ธ์ฆ&์ธ๊ฐ ๊ด๋ จ
conda create -n myenv python=3.8 django
pip install bcrypt
pip install Pyjwt
pip install django-cors-headers
pip install mysqlclient
corsheaders ์ค์ ์ด์
์ด ์ธ์ ํ์ํ ๊ฒ์ ๊ทธ๋๊ทธ๋ ๊น์!
mysql์ ๊น๋ ค ์๋ค๋ ๊ฐ์ ํ์ ์งํ
1-2. Git ๊ด๋ จ
git branch feature/์ฑ ์ด๋ฆ
์ฒ์์ ๋ธ๋์น ์ด๋ฆ์ ๋ด ์ด๋ฆ์ผ๋ก ํ๋ค๊ฐ,,,๐
1-3. .gitignore ์ค์น
๊น ์ด๊ทธ๋
ธ์ด ์ฌ์ดํธ
์ฐ๋ฆฌ๊ฐ ์์ค๋ฅผ ๊ณต์ ํ ๋ ์ฌ๋ฆฌ๋ฉด ์๋๋ ํ์ผ๋ค, ํน์ ๊ณต์ ํ๊ณ ์ถ์ง ์์ ํ์ผ๋ค์ด ์๋ค. ๊ทธ๋ฐ ํ์ผ๋ค์ ๊ตฌ๋ถํด์ฃผ๋ ์ค์นํ์ผ์ด๋ค.
- ์ฅ๊ณ , ํ์ด์ฌ, macOS, visualstudio ์ ๋ ฅ ํ ์์ฑ
- ์ฐ๋ฆฌ์ ํ๋ก์ ํธ ํ์ผ์
.gitignore
ํ์ผ์ ๋ง๋ ํ, ์์์ ์์ฑ๋ ๋ด์ฉ์ ๋ณต๋ถํ๊ธฐ - Django๋ถ๋ถ์ ์
๋ ฅํด์ผ ํ ๊ฒ
- .my_settings.py
- .csv
- .zip
- db_uploader.py
2. ์ฅ๊ณ ๋ด ํ์ผ ์ด๊ธฐ ์ค์
2-1. my_settings.py
manage.py ์๋ ์์น์ my_settings.py ๋ง๋ค๊ธฐ
touch my_settings.py
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.mysql',
'NAME': '๋ด๊ฐ ์์ฑํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ช
',
'USER': 'root',
'PASSWORD': '๋ฐ์ดํฐ๋ฒ ์ด์ค ๋น๋ฐ๋ฒํธ',
'HOST': 'DB์ฃผ์',
'PORT': '3306(mysql์ ํฌํธ ๋ฒํธ๋ฅผ 3306์ผ๋ก ์ด๋ค)',
}
}
SECRET_KEY= 'ํ๋ก์ ํธ ์์ฑ ํ, settingsํ์ผ์ ๊ฐ๋ฉด ์ํฌ๋ฆฟํค๊ฐ ์๋๋ฐ ๊ทธ ๋ด์ฉ์ ๋ถ์ฌ๋ฃ๊ธฐ'
ALGORITHM = 'HS256'
2-2. settings.py ์ค์
ํ๋ก์ ํธ ํ์ผ ๋ด์ ์๋ settings.py ํ์ผ ์ค์ ํ๊ธฐ
INSTALLED_APPS = [
'django.contrib.staticfiles',
'corsheaders'
]
# installed_apps์์ corsheaders ์ถ๊ฐ
-----------------------------------------------------
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
]
# MIDDLEWARE์์ corsheaders ์ถ๊ฐ
-----------------------------------------------------
SECRET_KEY = my_settings.SECRET_KEY
# my_settingsํ์ผ์ ๋ฃ์์ผ๋ settings์๋ ์์์ฒ๋ผ ์
๋ ฅํ๊ธฐ !
-----------------------------------------------------
#REMOVE_APPEND_SLASH_WARNING
APPEND_SLASH = False
##CORS
CORS_ORIGIN_ALLOW_ALL=True
CORS_ALLOW_CREDENTIALS = True
CORS_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',
#๋ง์ฝ ํ์ฉํด์ผํ ์ถ๊ฐ์ ์ธ ํค๋ํค๊ฐ ์๋ค๋ฉด?(์ฌ์ฉ์์ ์ ํค) ์ฌ๊ธฐ์ ์ถ๊ฐํ๋ฉด ๋ฉ๋๋ค.
)
# ํ์ฉํ ๊ฐ ์ ์
-----------------------------------------------------
import my_settings
DATABASES = my_settings.DATABASES
2-3. ์ฌ์ฉํ์ง ์๋ ์์ ์ฃผ์์ฒ๋ฆฌ ํ๊ธฐ
2-4 requirements.txt ์์ฑ
pip freeze > requirements.txt
ํ์ด์ฌ ๋ชจ๋ ์ ๋ณด๋ฅผ ํ์ธ ํ, requirements ํ์ผ์ ๊ธฐ๋ก
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐์ฅ๊ณ ๋ก ํ๋ก์ ํธ ์ด๊ธฐ์ธํ ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@may_soouu/์ฅ๊ณ ๋ก-ํ๋ก์ ํธ-์ด๊ธฐ์ธํ์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค