๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • Dev Blog
์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ/Python - Django Framework

[Django - Airbnb ํด๋ก  ์ฝ”๋”ฉ #1] ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ •ํ•˜๊ธฐ

by ์œ ์ง„์˜ 2021. 2. 17.

์ฝ”๋“œ ์—๋””ํ„ฐ์™€ ์šด์˜์ฒด์ œ

์ฝ”๋“œ ์—๋””ํ„ฐ๋Š” VS Code๋ฅผ ์‚ฌ์šฉํ–ˆ๊ณ  ์šด์˜์ฒด์ œ๋Š” WSL์„ ์‚ฌ์šฉํ–ˆ๋‹ค. (WSL : Window์šฉ Linux ์šด์˜์ฒด์ œ)
WSL์šฉ Homebrew ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ์ข€ ๋” ํŽธ๋ฆฌํ•˜๊ฒŒ ํŒจํ‚ค์ง€๋ฅผ install ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์˜€๋‹ค.

Python ํ™˜๊ฒฝ

Python์€ 3.8 ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ  Python์šฉ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋Š” pipenv๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.

pip๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ์ด์œ ๋Š” pip๋Š” ๋ชจ๋“  ํŒจํ‚ค์ง€๋ฅผ ์ „์—ญ์ ์œผ๋กœ ์„ค์น˜ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋Š” ํŒจํ‚ค์ง€์˜ ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ์— ๋”ฐ๋ฅธ ๋ฌธ์ œ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. pipenv๋Š” ํŒจํ‚ค์ง€๋“ค์„ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์—๋งŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๊ณ  Pipfile์ด๋ผ๋Š” ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ๋ฌธ์„œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. pipenv๋Š” ์šธํƒ€๋ฆฌ ์—ญํ• ์„ ํ•˜๋Š”๋ฐ ๋”ฐ๋ผ์„œ ์ž‘์—…์„ ํ•˜๋ ค๋ฉด ์šธํƒ€๋ฆฌ ์•ˆ์œผ๋กœ ๋“ค์–ด์™€์•ผ ํ•œ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ pipenv shell ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์•ผ ํ•œ๋‹ค.

 

VS Code์˜ Python ๊ฐœ๋ฐœ ํ™˜๊ฒฝ

Interpreter Path : Python 3.8.4 64-bit ('airbnb-clone':pipenv)
Linter : Flake8
Formatter : Black

๋งจ ์ฒ˜์Œ .py ํŒŒ์ผ์„ ์—ด๋ฉด VS Code์—์„œ Select Python Interpreter ์•Œ๋ฆผ์„ ์ฃผ๋Š”๋ฐ ์ด๋ฅผ ํด๋ฆญํ•˜๋ฉด Interpreter Path๋ฅผ ๊ณ ๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ ('ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋ช…': pipenv)๊ฐ€ ๋ช…์‹œ๋˜์–ด์žˆ๋Š” path๋ฅผ ์„ ํƒํ•˜๋ฉด ๋œ๋‹ค.

ํŒŒ์ด์ฌ์€ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์•„๋‹Œ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ์˜ค๋ฅ˜๋ฅผ ์žก์•„์ฃผ์ง€ ์•Š๊ณ  ์‹คํ–‰ ๊ณผ์ •์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์•Œ๋ ค์ค€๋‹ค. ๋”ฐ๋ผ์„œ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ์˜ค๋ฅ˜๋ฅผ ํ‘œ์‹œํ•ด์ฃผ๋Š” Linter์™€ ํŒŒ์ด์ฌ ์ฝ”๋“œ ํฌ๋งท์„ ๋”ฐ๋ฅด๋„๋ก ๋„์™€์ฃผ๋Š” Formatter๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํŽธ๋ฆฌํ•˜๋‹ค. Flake8๊ณผ Black ์กฐํ•ฉ์ด ์ข‹๋‹ค๊ณ  ํ•œ๋‹ค. 

 

โ€ป Command Palette (Ctrl + Shift + p)์—์„œ Open Workspace Settings (JSON)๋ฅผ ํด๋ฆญํ•˜๋ฉด settings.json ํŒŒ์ผ์ด ์ œ๊ณต๋˜๊ณ  ์—ฌ๊ธฐ์„œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์—ด๋žŒํ•˜๊ณ  ์ถ”๊ฐ€, ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.  

Github ์—ฐ๋™

1. Github์—์„œ ํ”„๋กœ์ ํŠธ repository ๋งŒ๋“ค๊ณ  ํ•ด๋‹น repository์˜ URL ๋ณต์‚ฌ
2. git init 
3. git remote add origin URL(respository)
4. git add . 
5. git commit -m "์ฝ”๋ฉ˜ํŠธ" 
6. touch README.md, touch .gitignore 

git commit์€ ํ”„๋กœ์ ํŠธ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด๋‚˜ ์ถ”๊ฐ€ ์‚ฌํ•ญ์„ ๋ช…์‹œํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ git add . -> git commit -m "์ฝ”๋ฉ˜ํŠธ"๋Š” ๊ฐœ๋ฐœ์˜ ํ•œ ๋‹จ๊ณ„๋งˆ๋‹ค ๋ˆŒ๋Ÿฌ์ฃผ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. 

gitignore์€ igithub์— ๋ณด์ด๊ณ  ์‹ถ์ง€ ์•Š์€ ๊ฒƒ๋“ค์„ ๋ช…์‹œํ•ด์ฃผ๋Š” ํŒŒ์ผ์ธ๋ฐ gitignore python์„ ๊ตฌ๊ธ€๋ง ํ•˜๋ฉด ํŒŒ์ด์ฌ ํ”„๋กœ์ ํŠธ์—์„œ ํ”ํžˆ ์“ฐ์ด๋Š” gitignore๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

 

๋Œ“๊ธ€