Django - ynjch97/YNJCH_WIKI GitHub Wiki

1. Django

  • ์›น์‚ฌ์ดํŠธ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ๊ฐœ๋ฐœํ•˜๋Š” ํ•˜๋„๋ก ๋„์›€์„ ์ฃผ๋Š” ํŒŒ์ด์ฌ ์›น ํ”„๋ ˆ์ž„์›Œํฌ

1-1. Django ํŠน์ง•

  • Complete : ์ผ๊ด€๋œ ๋””์ž์ธ ๋ฃฐ์„ ์ ์šฉํ•˜์—ฌ ๊ด‘๋ฒ”์œ„ํ•œ ์ตœ์‹  ๋ฌธ์„œ๋ฅผ ์ œ๊ณต
  • Versatile : ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ์›น ์‚ฌ์ดํŠธ๋ฅผ ๋นŒ๋“œํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๊ณ , ๋Œ€๋ถ€๋ถ„์˜ ํ˜•์‹(HTML, RSS ํ”ผ๋“œ, JSON, XML ๋“ฑ)์œผ๋กœ ์ปจํ…์ธ  ์ „์†ก ๊ฐ€๋Šฅ
  • Secure : ๋ณด์•ˆ ๋ฌธ์ œ์— ๋„์›€์„ ์คŒ
    • ์œ ์ €์˜ ๊ณ„์ •๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์•ˆ์ „ํ•œ ๋ฐฉ๋ฒ• ์ œ๊ณต, ๋ณ€ํ˜•๋˜์–ด ์ž…๋ ฅ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์œ ํšจํ•œ์ง€ hash ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ํ™•์ธ
    • SQL ์ธ์ ์…˜, ํฌ๋กœ์Šค์‚ฌ์ดํŠธ ์Šคํฌ๋ฆฝํŒ…, ํฌ๋กœ์Šค์‚ฌ์ดํŠธ ์š”์ฒญ ์œ„์กฐ, ํด๋ฆญ ํ•˜์ด์ ํ‚น ๋“ฑ์˜ ๋ณด์•ˆ ์ทจ์•ฝ์  ๋ณด์™„ ๋ฐฉ๋ฒ•์„ ์ œ๊ณต)
  • Scalable : ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜์˜ "shared-nothing" ์•„ํ‚คํ…์ณ(๊ฐ๊ฐ์˜ ์•„ํ‚คํ…์ณ๊ฐ€ ๋…๋ฆฝ์ ์ด์–ด์„œ ํ•„์š”ํ•˜๋‹ค๋ฉด ๊ต์ฒด ๋ฐ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š”) ์‚ฌ์šฉ
    • ์–ด๋–ค ๋ ˆ๋ฒจ์—์„œ๋“ (์บ์‹ฑ ์„œ๋ฒ„, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„, ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ๋“ฑ) ํ•˜๋“œ์›จ์–ด ์ถ”๊ฐ€๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ๋Š˜์–ด๋‚œ ํŠธ๋ž˜ํ”ฝ์— ๋Œ€์‘ํ•ด ํฌ๊ธฐ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
  • Maintainable : ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฝ๊ณ  ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ์ข‹์€ ๋””์ž์ธ ์›์น™๊ณผ ํŒจํ„ด์„ ์ด์šฉ
  • Portable : ํŠน์ •ํ•œ ์„œ๋ฒ„ ํ”Œ๋žซํผ์— ์–ฝ๋งค์ด์ง€ ์•Š์œผ๋ฉฐ ๋ฆฌ๋ˆ…์Šค, ์œˆ๋„์šฐ, ๋งฅ OS X ๋“ฑ ๋‹ค์–‘ํ•œ ์šด์˜์ฒด์ œ์—์„œ ์ž‘๋™

2. Django ํŠœํ† ๋ฆฌ์–ผ

2-1. Python ์„ค์น˜

  • Python ์„ค์น˜ํ•˜๊ธฐ www.python.org/
  • <Python 3.8.x> ๊ถŒ์žฅ
  • cmd ์ฐฝ์— python -V ์ž…๋ ฅํ•˜์—ฌ ์„ค์น˜ ํ™•์ธ

2-2. Django ์„ค์น˜

2-2-1. ํŒŒ์ด์ฌ ๊ฐ€์ƒ ํ™˜๊ฒฝ

  • ํŒŒ์ด์ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋•Œ ๋…๋ฆฝ๋œ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค์–ด ์ฃผ๋Š” ๋„๊ตฌ
  • ํ•˜๋‚˜์˜ ๋ฐ์Šคํฌํ†ฑ์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒŒ์ด์ฌ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์‹œ, ์‚ฌ์šฉํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ฒ„์ „์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ > ๋…๋ฆฝ๋œ ๊ฐ€์ƒ ํ™˜๊ฒฝ ํ•„์š”

2-2-2. ํŒŒ์ด์ฌ ๊ฐ€์ƒ ํ™˜๊ฒฝ ์‚ฌ์šฉ

  • ์œˆ๋„์šฐ์—์„œ ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ ์‹คํ–‰
  • C:/venvs ๋””๋ ‰ํ„ฐ๋ฆฌ ์ƒ์„ฑ
C:\Users\pahkey> cd \
C:\> mkdir venvs
C:\> cd venvs
  • ํŒŒ์ด์ฌ ๊ฐ€์ƒ ํ™˜๊ฒฝ ๋งŒ๋“ค๊ธฐ
    • python -m venv : ํŒŒ์ด์ฌ ๋ชจ๋“ˆ ์ค‘ venv ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์˜๋ฏธ
    • mysite : ์ƒ์„ฑํ•  ๊ฐ€์ƒ ํ™˜๊ฒฝ์˜ ์ด๋ฆ„
C:\venvs> python -m venv mysite
  • C:/venvs ๋””๋ ‰ํ„ฐ๋ฆฌ ์•„๋ž˜ mysite ๋””๋ ‰ํ„ฐ๋ฆฌ ์ƒ์„ฑ๋œ ๊ฒƒ ํ™•์ธ
    • ์ด ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ๊ฐ€์ƒ ํ™˜๊ฒฝ์ด๋‚˜, ๋งŒ๋“ค๊ณ  ๋ฐ”๋กœ ์‚ฌ์šฉ ๋ถˆ๊ฐ€ > ๊ฐ€์ƒ ํ™˜๊ฒฝ ์‚ฌ์šฉ์„ ์œ„ํ•ด ๊ฐ€์ƒ ํ™˜๊ฒฝ์— ์ง„์ž…ํ•ด์•ผ ํ•จ
  • mysite ๊ฐ€์ƒ ํ™˜๊ฒฝ์— ์žˆ๋Š” Scripts ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ activate ๋ช…๋ น ์ˆ˜ํ–‰ > mysite ๊ฐ€์ƒ ํ™˜๊ฒฝ์— ์ง„์ž…
    • (mysite) : ์ง„์ž…ํ•œ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ์˜๋ฏธ
C:\venvs>cd C:\venvs\mysite\Scripts
C:\venvs\mysite\Scripts> activate
(mysite) C:\venvs\mysite\Scripts>
  • ์ง„์ž…ํ•œ ๊ฐ€์ƒ ํ™˜๊ฒฝ์—์„œ ๋ฒ—์–ด๋‚˜๋ ค๋ฉด deactivate ๋ช…๋ น ์‹คํ–‰
(mysite) C:\venvs\mysite\Scripts> deactivate
c:\venvs\mysite\Scripts>

2-2-3. ๊ฐ€์ƒ ํ™˜๊ฒฝ์— Django ์„ค์น˜

  • mysite ๊ฐ€์ƒ ํ™˜๊ฒฝ์— ์žฅ๊ณ ๋ฅผ ์„ค์น˜ (๊ฐ€์ƒ ํ™˜๊ฒฝ์— ์ง„์ž…ํ•œ ์ƒํƒœ์—์„œ ์ง„ํ–‰)
  • pip : ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๊ด€๋ฆฌํ•ด ์ฃผ๋Š” ํŒŒ์ด์ฌ ๋„๊ตฌ
    • pip install django==3.1.3 : pip์œผ๋กœ ์žฅ๊ณ  3.1.3 ๋ฒ„์ „์„ ์„ค์น˜ํ•˜๋Š” ๋ช…๋ น
(mysite) C:\venvs\mysite\Scripts> pip install django==3.1.3
Collecting django
  Using cached https://files.pythonhosted.org/packages/01/a5/fb3dad18422fcd4241d18460a1fe17542bfdeadcf74e3861d1a2dfc9e459/Django-3.1.3-py3-none-any.whl
Collecting asgiref~=3.2.10 (from django)
  Using cached https://files.pythonhosted.org/packages/d5/eb/64725b25f991010307fd18a9e0c1f0e6dff2f03622fc4bcbcdb2244f60d6/asgiref-3.2.10-py3-none-any.whl
Collecting sqlparse>=0.2.2 (from django)
  Using cached https://files.pythonhosted.org/packages/85/ee/6e821932f413a5c4b76be9c5936e313e4fc626b33f16e027866e1d60f588/sqlparse-0.3.1-py2.py3-none-any.whl
Collecting pytz (from django)
  Using cached https://files.pythonhosted.org/packages/4f/a4/879454d49688e2fad93e59d7d4efda580b783c745fd2ec2a3adf87b0808d/pytz-2020.1-py2.py3-none-any.whl
Installing collected packages: asgiref, sqlparse, pytz, django
Successfully installed asgiref-3.2.10 django-3.1.3 pytz-2020.1 sqlparse-0.3.1

WARNING: You are using pip version 19.2.3, however version 20.2.3 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
  • ์œ„์™€ ๊ฐ™์ด WARNING ๋ฌธ๊ตฌ๊ฐ€ ๋œจ๋ฉด, pip์„ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์„ค์น˜ํ•  ํ•„์š”๊ฐ€ ์žˆ์Œ
(mysite) C:\venvs\mysite\Scripts> python -m pip install --upgrade pip
Collecting pip
  Downloading https://files.pythonhosted.org/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl (1.4MB)
     |================================| 1.4MB 226kB/s
Installing collected packages: pip
  Found existing installation: pip 19.2.3
    Uninstalling pip-19.2.3:
      Successfully uninstalled pip-19.2.3
Successfully installed pip-20.0.2

3. Django ํ”„๋กœ์ ํŠธ

  • Django์˜ ํ”„๋กœ์ ํŠธ = ํ•˜๋‚˜์˜ ์›น ์‚ฌ์ดํŠธ
  • Django ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ํ•œ ๊ฐœ์˜ ์›น ์‚ฌ์ดํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Œ
  • ํ”„๋กœ์ ํŠธ ์•ˆ์—๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์•ฑ์ด ์กด์žฌ, ์ด ์•ฑ๋“ค์ด ๋ชจ์—ฌ ์›น ์‚ฌ์ดํŠธ๋ฅผ ๊ตฌ์„ฑ
    • ์•ฑ : ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์ž‘์€ ๋‹จ์œ„์˜ ๊ธฐ๋Šฅ (๊ด€๋ฆฌ์ž ์•ฑ, ์ธ์ฆ ์•ฑ ๋“ฑ๊ณผ ๊ฐ™์ด ์žฅ๊ณ ๊ฐ€ ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ์•ฑ + ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ๋งŒ๋“  ์•ฑ)

3-1. ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

  • Django ํ”„๋กœ์ ํŠธ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ๊ฐ€ ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ํ”„๋กœ์ ํŠธ๋“ค์˜ ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ƒ์„ฑ์ด ํ•„์š”
  • C:\projects ๋กœ ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ƒ์„ฑ, ํ•ด๋‹น ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ด๋™
C:\Users\pahke>cd \
C:\>mkdir projects
C:\>cd projects
C:\projects>
  • mysite ๊ฐ€์ƒ ํ™˜๊ฒฝ์— ์ง„์ž…
C:\projects>C:\venvs\mysite\Scripts\activate
(mysite) C:\projects>
  • ์žฅ๊ณ  ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ์ด์ „์— ๋จผ์ € ํŒŒ์ด๋ณด ํ”„๋กœ์ ํŠธ๋ฅผ ์˜๋ฏธํ•˜๋Š” mysite ๋””๋ ‰ํ„ฐ๋ฆฌ ์ƒ์„ฑ
(mysite) C:\projects>mkdir mysite
  • mysite ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ด๋™
(mysite) C:\projects>cd mysite
(mysite) C:\projects\mysite>
  • Django ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ
    • ์  ๊ธฐํ˜ธ(.) : ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์˜๋ฏธ
    • django-admin startproject config . : ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ์ธ mysite๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ
(mysite) C:\projects\mysite>django-admin startproject config .
  • ํ”„๋กœ์ ํŠธ๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด mysite ๋””๋ ‰ํ„ฐ๋ฆฌ ์•„๋ž˜ Django๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ์—ฌ๋Ÿฌ ๋””๋ ‰ํ„ฐ๋ฆฌ์™€ ํŒŒ์ผ๋“ค์ด ์ƒ์„ฑ๋จ

3-2. ๊ฐœ๋ฐœ ์„œ๋ฒ„ ๊ตฌ๋™

  • ์ƒ์„ฑ๋œ mysite๋ฅผ ๊ตฌ๋™
    • Starting development server at http://127.0.0.1:8000/ : ์žฅ๊ณ  ์„œ๋ฒ„๊ฐ€ http://127.0.0.1:8000/ ๋กœ ์‹œ์ž‘๋จ
    • Quit the server with CTRL-BREAK. : ์„œ๋ฒ„ ์ค‘์ง€๋ฅผ ์œ„ํ•ด์„œ๋Š” CTRL-BREAK๋ฅผ ์ž…๋ ฅํ•˜๋ผ๋Š” ๋œป
(mysite) C:\projects\mysite>python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
April 21, 2020 - 21:51:03
Django version 3.1.3, using settings 'config.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
  • ์›น ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— http://127.0.0.1:8000/ ์ž…๋ ฅ

3-3. ๊ฐ€์ƒ ํ™˜๊ฒฝ ์ง„์ž… ๋ฐฉ๋ฒ•

3-3-1. ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ

  • cmd ์ฐฝ์— ์•„๋ž˜ ๋‚ด์šฉ ์ž…๋ ฅ
    • C:/projects/mysite ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ด๋™
    • c:/venvs/mysite/scripts/activate ๋ช…๋ น ์ˆ˜ํ–‰
C:\projects>C:\venvs\mysite\Scripts\activate
(mysite) C:\projects>

3-3-2. ๋ฐฐ์น˜ ํ”„๋กœ๊ทธ๋žจ

  • ํ…์ŠคํŠธ ์—๋””ํ„ฐ๋กœ mysite.cmd ํŒŒ์ผ ์ƒ์„ฑํ•˜์—ฌ ์ž‘์„ฑ
    • ๋ฐฐ์น˜(batch) ํŒŒ์ผ : ํ™•์žฅ์ž .cmd๊ฐ€ ๋ถ™์€ ํŒŒ์ผ, ๋ช…๋ น์–ด ์ž…๋ ฅ๊ณผ ์‹คํ–‰์„ ํ•œ ๋ฒˆ์— ํ•ด์ฃผ๋Š” ํŒŒ์ผ
@echo off
cd c:/projects/mysite
c:/venvs/mysite/scripts/activate
  • ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ ์–ด๋А ๊ณณ์—์„œ๋‚˜ ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก C:/venvs ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ PATH์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•จ
    • Windows + R ์ž…๋ ฅ > sysdm.cpl ์ž…๋ ฅํ•˜์—ฌ ์‹คํ–‰
    • ๊ณ ๊ธ‰ - ํ™˜๊ฒฝ๋ณ€์ˆ˜ - ์ƒ๋‹จ ์‚ฌ์šฉ์ž ๋ณ€์ˆ˜ - Path - ํŽธ์ง‘ - ์ƒˆ๋กœ ๋งŒ๋“ค๊ธฐ
    • C:\venvs ์ถ”๊ฐ€ - ํ™•์ธ
    • cmd ์ฐฝ์„ ์—ด์–ด set path ์ž…๋ ฅ์œผ๋กœ ์ ์šฉ์ด ์ž˜ ๋œ ๊ฒƒ ํ™•์ธ
  • ๋ฐฐ์น˜ ํŒŒ์ผ๋ช…์ธ mysite๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๊ฐ€์ƒ ํ™˜๊ฒฝ ์ง„์ž… ์„ฑ๊ณต ํ™•์ธ
C:\Users\pahkey> mysite
(mysite) C:\projects\mysite>

3-3-3. ๋ฐฐ์น˜ ํ”„๋กœ๊ทธ๋žจ (for Mac OS)

  • mysite.cmd ๋Œ€์‹  mysite.sh ์ž‘์„ฑ
    • ํŒŒ์ผ ์ด๋ฆ„: /Users/pahkey/venvs/mysite.sh
#!/bin/bash

cd /Users/pahkey/projects/mysite
source /Users/pahkey/venvs/mysite/bin/activate
  • ํ„ฐ๋ฏธ๋„์—์„œ ์•„๋ž˜ ๋‚ด์šฉ ์ž…๋ ฅํ•˜์—ฌ ์ˆ˜ํ–‰
$ /Users/pahkey/venvs/mysite.sh

4. Django ๊ฐœ๋ฐœ ์„œ๋ฒ„ ์‹คํ–‰

  • ํŒŒ์ด์ฌ๊ณผ ์žฅ๊ณ  ๊ฐœ๋ฐœ์— ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์—๋””ํ„ฐ : ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ, ํŒŒ์ด์ฐธ
    • ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ : ๋‚ด์žฅ ํ„ฐ๋ฏธ๋„์ด ํŒŒ์›Œ์…ธ๋กœ ์‹คํ–‰๋˜๋Š”๋ฐ, ์ด ๊ฒฝ์šฐ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋“ค์ด ์ •์ƒ์ ์œผ๋กœ ์„ค์ •๋˜์ง€ ์•Š์Œ (ํŒŒ์›Œ์…ธ ๋Œ€์‹  ๋ช…๋ น์ฐฝ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰ํ•ด์•ผ ํ•จ)

4-1. ํŒŒ์ด์ฐธ ์„ค์น˜

4-2. ํŒŒ์ด์ฐธ ์‹คํ–‰ํ•˜๊ธฐ

  • Windows ํ‚ค - JetBrains - PyCharm Community Edition ์„ ํƒ - ํŒŒ์ด์ฐธ ์‹คํ–‰
    • ์ตœ์ดˆ ์‹คํ–‰ ์‹œ ์„ค์ •์ฐฝ ํ™•์ธ, ๊ธฐ๋ณธ๊ฐ’ ์„ธํŒ…
  • ํŒŒ์ด์ฐธ์œผ๋กœ ์žฅ๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
    • 'Welcome to PyCharm' ํ™”๋ฉด - Open - ์•ž์„œ ์ƒ์„ฑํ•œ ์žฅ๊ณ  ํ”„๋กœ์ ํŠธ C:/projects/mysite ์„ ํƒ
    • ์ฒ˜์Œ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๋ฉด mysite ๋””๋ ‰ํ„ฐ๋ฆฌ ์•ˆ์— main.py ํŒŒ์ผ์ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํŒŒ์ผ์ด ์žˆ๋‹ค๋ฉด ์‚ญ์ œ ํ›„ ์ง„ํ–‰

4-3. ํŒŒ์ด์ฐธ ์ธํ„ฐํ”„๋ฆฌํ„ฐ

  • ์žฅ๊ณ  ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ฐ”๋ผ๋ด์•ผ ํ•  ํŒŒ์ด์ฌ ์ธํ„ฐํ”„
  • ํŒŒ์ด์ฐธ ๋ฉ”๋‰ด - File - Settings - Project: mysite - Project Interpreter
  • ์šฐ์ธก ์ƒ๋‹จ์˜ Python Interpreter ํ™•์ธ (ํŒŒ์ด์ฌ์„ ์„ค์น˜ํ•œ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๊ธฐ๋ณธ ์„ค์ •๋˜์–ด ์žˆ์Œ)
    • ์ง€๊ธˆ์€ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ํŒŒ์ด์ฌ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์œ„์น˜๋ฅผ ๊ฐ€์ƒ ํ™˜๊ฒฝ ์œ„์น˜๋กœ ์ˆ˜์ •ํ•ด์•ผ ํ•จ
  • Python Interpreter ์šฐ์ธก ํ†ฑ๋‹ˆ๋ฐ”ํ€ด ์•„์ด์ฝ˜ - Add
  • 'Add Python Interpreter' ์ฐฝ - Existing environment - Interpreter ์šฐ์ธก์˜ ...
  • C:/venvs/mysite/Scripts/python.exe ์„ ํƒ ํ›„ OK
  • ์ดํ›„ ๋‚˜๋จธ์ง€ ์ฐฝ๋„ OK
    • ์„ค์ • ๋งˆ์น˜๋ฉด ํŒŒ์ด์ฐธ์ด mysite ๊ฐ€์ƒ ํ™˜๊ฒฝ์— ์žˆ๋Š” ํŒŒ์ด์ฌ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ์ธ์‹ํ•˜๊ฒŒ ๋จ

4-4. settings.py

  • ํŒŒ์ด์ฐธ์œผ๋กœ ์žฅ๊ณ  ๊ฐœ๋ฐœํ•  ์ค€๋น„ ์™„๋ฃŒ
  • settings.py : ์žฅ๊ณ ์˜ ์„ค์ •๊ฐ’์ด ๋“ค์–ด์žˆ๋Š” ํŒŒ์ผ
  • ํŒŒ์ด์ฐธ์—์„œ settings.py ํŒŒ์ผ ์—ด์–ด ์–ธ์–ด, ์‹œ๊ฐ„์„ ํ•œ๊ตญ ๊ฐ’์œผ๋กœ ์ˆ˜์ • (C:/projects/mysite/config/settings.py)
    • LANGUAGE_CODE : en-us์—์„œ ko-kr๋กœ ์ˆ˜์ •
    • TIME_ZONE : UTC์—์„œ Asia/Seoul๋กœ ์ˆ˜์ •
LANGUAGE_CODE = 'ko-kr'
TIME_ZONE = 'Asia/Seoul'
  • ํ˜„์žฌ ์ข…๋ฃŒ๋˜์–ด ์žˆ๋Š” ๊ฐœ๋ฐœ ์„œ๋ฒ„ ๋‹ค์‹œ ๊ตฌ๋™ํ•˜๊ธฐ
(mysite) c:\projects\mysite>python manage.py runserver
  • localhost:8000/ ์ ‘์† ์‹œ ์ดˆ๊ธฐ ํ™”๋ฉด์ด ์˜์–ด์—์„œ ํ•œ๊ธ€๋กœ ๋ณ€๊ฒฝ๋œ ๊ฒƒ ํ™•์ธ
โš ๏ธ **GitHub.com Fallback** โš ๏ธ