μμνκΈ°μ μμ μΈν
μ
ꡬμμ£Όκ² μ΅λλ€.π³
μΉ μ΄ν리μΌμ΄μ
μ λ§λ€μ΄μΌκ² λ€!! μΆμΌλ©΄ κ°μ₯λ¨Όμ κ°μνκ²½μ λ§λ€μ΄μ£Όκ³ , κ·Έ νκ²½μμμ νμν λΌμ΄λΈλ¬λ¦¬λ₯Ό μ€μΉ
νκ³ ν΄μΌν©λλ€. κ·Έλ°λ° μλ κΈ λ΄μ©μ 보면 djangoμ€μΉ->κ°μνκ²½μ€μΉ μμΌλ‘ μ§νλκ³ μμΌλ―λ‘ λ°λλ‘ κ°μνκ²½λ§λ€κ³ κ·Έ μμμ django μ€μΉνλ©΄ λ©λλ€.
+ μλ ν¨ν€μ§κ΄λ¦¬μ fixtureλ μ²μ μΉλ§λ€λλ μ¬μ©ν νμκ° μμλλ€.
νμ΄μ¬ 3.7.7 μ€μΉλμ΄ μμ΄μΌν©λλ€. (3.5λ²μ μ μ₯κ³ 2κ° μ€μΉκ° λλ²λ¦½λλ€.)
$ pip install django #μ΅μ λ²μ μ€μΉ
$ pip install django==2.1.0 #νΉμ λ²μ Ό μ€μΉνκΈ°
$ pip list
# python -m django --version
"files.associations": {
"**/*.html": "html",
"**/templates/**/*.html": "django-html",
"**/templates/**/*": "django-txt",
"**/requirements{/**,*}.{txt,in}": "pip-requirements" },
"emmet.includeLanguages": {"django-html": "html"}
νμ΄μ¬ μΈν°ν리ν°, λΌμ΄λΈλ¬λ¦¬, λ° μ€ν¬λ¦½νΈκ° "μμ€ν νμ΄μ¬" (μ¦, μ΄μ 체μ μΌλΆλ‘ μ€μΉλμ΄ μλ κ²)μ μ€μΉλ λͺ¨λ λΌμ΄λΈλ¬λ¦¬μ 격리 λλ¬μλ νμ΄μ¬ νκ²½
Git Bash μμ λμνκ² νλ €λ©΄, python λ²μ 3.7.2 μ΄μμ΄ νμ μ°Έκ³
$ python -m venv [κ°μνκ²½μ΄λ¦]
$ source [κ°μνκ²½μ΄λ¦]/Scripts/activate
(κ°μνκ²½μ΄λ¦)
$
Git Bash
$ source [κ°μνκ²½μ΄λ¦]\Scripts\activate
CMD
$ source [κ°μνκ²½μ΄λ¦]\Scripts\activate.bat
PowerShell
$ source [κ°μνκ²½μ΄λ¦]\Scripts\Activate.ps1
macOS
$ source [κ°μνκ²½μ΄λ¦]/bin/activate
$ deactivate
ctrl
+ shift
+ p
-> python interpreter
μ νμ¬κΈ°κΉμ§ μννλ€λ©΄ μ΄μ 본격μ μΈ MTV λ°©μμ μΉμ λ§λ€ μ€λΉκ° λλκ²λλΉ
κ°λ° νκ²½μ΄ λ°λμμ λ μΌμΌμ΄ ν¨ν€μ§λ₯Ό μ€μΉν΄μ€μΌ νκ±°λ, νμ μ νκ² λμ λ κ°λ° μ€μΈ νκ²½μ μ¨μ ν λ겨 μ€μΌ ν λκ° μλ€. μ΄λ₯Ό μν΄ κ°λ° νλ νκ²½μ κΈ°λ‘νκ³ μ΄λ₯Ό μλ‘μ΄ νκ²½ μμ νλ²μ μ΄μν μ μλ λ°©λ²μ΄ μ‘΄μ¬νλ€.
$ pip freeze > requirements.txt
$ pip install βr requirements.txt
Djangoκ° λ°μ΄ν°λ² μ΄μ€λ‘ import ν μ μλ λ°μ΄ν° λͺ¨μ. μ±μ μ²μ μ€μ ν λ λ°μ΄ν°λ² μ΄μ€λ₯Ό 미리 μ±μμΌ νλ μν©μ΄ μ‘΄μ¬νλλ° μ΄λ¬ν μ΄κΈ° λ°μ΄ν°λ₯Ό μ 곡νλ λ°©λ² μ€ νλ
$ python manage.py dumpdata app_name.ModelName [--options]
# μμ
$ python manage.py dumpdata articles.Article --indent 4 > articles.json
$ python manage.py loaddata fixtures_path
# μμ
$ python manage.py loaddata articles/articles.json
μμ μ½λλ€μ μ¬μ©λ κ°λ λ€μ μ 리νλ 곡κ°μ λλ€.
νμ΄μ¬ μΈν°ν리ν°, λΌμ΄λΈλ¬λ¦¬, λ° μ€ν¬λ¦½νΈκ° "μμ€ν νμ΄μ¬" (μ¦, μ΄μ 체μ μΌλΆλ‘ μ€μΉλμ΄ μλ κ²)μ μ€μΉλ λͺ¨λ λΌμ΄λΈλ¬λ¦¬μ 격리 λλ¬μλ νμ΄μ¬ νκ²½
venv
: Python 3.3 λ²μ μ΄ν λΆν° κΈ°λ³Έλͺ¨λμ ν¬ν¨λ¨. 곡μλ¬Έμ κΆμ₯μ¬νvirtualenv
: Python 2 λ²μ λΆν° μ¬μ©ν΄μ€λ κ°μνκ²½ λΌμ΄λΈλ¬λ¦¬, Python 3μμλ μ¬μ©κ°λ₯conda
: Anaconda Pythonμ μ€μΉνμ μ μ¬μ©ν μμλ λͺ¨λpyenv
: pyenvμ κ²½μ° Python Version Mangerμκ³Ό λμμ κ°μνκ²½ κΈ°λ₯μ νλ¬κ·ΈμΈ ννλ‘ μ 곡 (macOS)κ°λ° νκ²½μ΄ λ°λμμ λ μΌμΌμ΄ ν¨ν€μ§λ₯Ό μ€μΉν΄μ€μΌ νκ±°λ, νμ μ νκ² λμ λ κ°λ° μ€μΈ νκ²½μ μ¨μ ν λ겨 μ€μΌ ν λκ° μλ€. μ΄λ₯Ό μν΄ κ°λ° νλ νκ²½μ κΈ°λ‘νκ³ μ΄λ₯Ό μλ‘μ΄ νκ²½ μμ νλ²μ μ΄μν μ μλ λ°©λ²μ΄ μ‘΄μ¬νλ€.
Djangoκ° λ°μ΄ν°λ² μ΄μ€λ‘ import ν μ μλ λ°μ΄ν° λͺ¨μ. μ±μ μ²μ μ€μ ν λ λ°μ΄ν°λ² μ΄μ€λ₯Ό 미리 μ±μμΌ νλ μν©μ΄ μ‘΄μ¬νλλ° μ΄λ¬ν μ΄κΈ° λ°μ΄ν°λ₯Ό μ 곡νλ λ°©λ² μ€ νλ