๐Ÿ“Œ์žฅ๊ณ ๋กœ ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ์„ธํŒ…

may_soouuยท2020๋…„ 9์›” 27์ผ
0

์œ„์ฝ”๋“œ ํ”„๋กœ์ ํŠธ ์žฅ๊ณ  ์ดˆ๊ธฐ์„ธํŒ… ์ •๋ฆฌ๐Ÿ™Œ๐Ÿป
์œ„์ฝ”๋“œ์„ธ์…˜๋งํฌ

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 ํŒŒ์ผ์— ๊ธฐ๋ก

profile
back-end ๊ฐœ๋ฐœ์ž

0๊ฐœ์˜ ๋Œ“๊ธ€