Django -์๋ ๋ฐํด๋ฅผ ๋ง๋ค ํ์ ์์ด ์ฑ์ ์์ฑ ๊ฐ๋ฅ!
Static web page(์ ์ ์น ํ์ด์ง)
- ์๋ฒ์ ๋ฏธ๋ฆฌ ์ ์ฅ๋ ํ์ผ์ด ์ฌ์ฉ์์๊ฒ ๊ทธ๋๋ก ์ ๋ฌ๋๋ ์น ํ์ด์ง
- ์๋ฒ๊ฐ ์ ์ ์น ํ์ด์ง์ ๋ํ ์์ฒญ์ ๋ฐ์ ๊ฒฝ์ฐ ์๋ฒ๋ ์ถ๊ฐ์ ์ธ ์ฒ๋ฆฌ ๊ณผ์ ์์ด ํด๋ผ์ด์ธํธ์๊ฒ ์๋ต์ ๋ณด๋
- ๋ชจ๋ ์ํฉ์์ ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ๋์ผํ ์ ๋ณด๋ฅผ ํ์
- ์ผ๋ฐ์ ์ผ๋ก HTML, CSS, JavaScript๋ก ์์ฑ๋จ
- flat page๋ผ๊ณ ๋ ํจ
- ์์ฒญ์ ๋ํ ์ฒ๋ฆฌ ๊ณผ์ ์ด ๋ฐ๋ก ์์
- ์ ์ ์นํ์ด์ง์ ๊ฐ์ฅ ํฐ ํน์ง์ ๋ชจ๋ ์ํฉ์์ ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ๋์ผํ ์ ๋ณด๋ฅผ ํ์!
Dynamic web page(๋์ ์น ํ์ด์ง)
- ์น ํ์ด์ง์ ๋ํ ์์ฒญ์ ๋ฐ์ ๊ฒฝ์ฐ ์ถ๊ฐ์ ์ธ ์ฒ๋ฆฌ ๊ณผ์ ์ด ์์!
- ์ถ๊ฐ์ ์ธ ์ฒ๋ฆฌ ๊ณผ์ ์ดํ ํด๋ผ์ด์ธํธ์๊ฒ ์๋ต์ ๋ณด๋
- ๋์ ์น ํ์ด์ง๋ ๋ฐฉ๋ฌธ์์ ์ํธ์์ฉํ๊ธฐ ๋๋ฌธ์ ํ์ด์ง ๋ด์ฉ์ ๊ทธ๋๊ทธ๋ ๋ค๋ฆ
- ์๋ฒ ์ฌ์ด๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ์ฌ์ฉ๋จ, ํ์ผ์ ์ฒ๋ฆฌํ๊ณ ๋ฐ์ดํฐ ๋ฒ ์ด์ค์์ ์ํธ์์ฉ์ด ์ด๋ค์ง- python,java,c++
Framework
- ํ๋ก๊ทธ๋๋ฐ์์ ํน์ ์ด์ ์ฒด์ ๋ฅผ ์ํ ์์ฉ ํ๋ก๊ทธ๋จ ํ์ค ๊ตฌ์กฐ๋ฅผ ๊ตฌํํ๋ ํด๋์ค์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ์
- ์ฌ์ฌ์ฉํ ์ ์๋ ์๋ง์ ์ฝ๋๋ฅผ ํ๋ ์ ์ํฌ๋ก ํตํฉํจ์ผ๋ก์จ ๊ฐ๋ฐ์๊ฐ ์๋ก์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ํ์ค ์ฝ๋๋ฅผ ๋ค์ ์์ฑํ์ง ์์๋ ๊ฐ์ด ์ฌ์ฉํ ์ ์๋๋ก ๋์
- application framework๋ผ๊ณ ๋ ํจ
Web framework
- ์น ํ์ด์ง๋ฅผ ๊ฐ๋ฐํ๋ ๊ณผ์ ์์ ๊ฒช๋ ์ด๋ ค์์ ์ค์ด๋ ๊ฒ์ด ์ฃผ ๋ชฉ์ !
Framework Architecture
- MVC Design Pattern(model - view - controller)
- ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ก๋ถํฐ ํ๋ก๊ทธ๋จ ๋ก์ง์ ๋ถ๋ฆฌํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๊ฐ์ ์์๋ ์ด๋ฉด์์ ์คํ๋๋ ๋ถ๋ถ์ ์๋ก ์ํฅ ์์ด ์ฝ๊ฒ ๊ณ ์น ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค ์ ์์!
- Django๋ MTV Pattern์ด๋ผ๊ณ ํจ
- UI๋ ๋ณ๋๋ก ์๊ฐ์ ์ธ ์์๋ ์ด๋ฉด์์ ์คํ๋๋ ๋ถ๋ถ์ ์๋ก ์ํฅ์์ด ์ฝ๊ฒ ๊ณ ์น ์ ์์
- Django ๋ MTV(model-template-view) Pattern์ด๋ผ๊ณ ํจ! mvc๋ ๊ฐ์๋ฐ ์ด๋ฆ๋ง ๋ฐ๊ฟ๋ถ๋ฅด๋
MTV Pattern
- Model
- ์์ฉํ๋ก๊ทธ๋จ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธฐ๋ก์ ๊ด๋ฆฌ(์ถ๊ฐ, ์์ ,์ญ์ )
- Template
- ์ค์ ๋ด์ฉ์ ๋ณด์ฌ์ฃผ๋๋ฐ ์ฌ์ฉ(presentation)
- ํ์ผ์ ๊ตฌ์กฐ๋ ๋ ์ด์์์ ์ ์
- View (controller)
- Model์ ํตํด ์์ฒญ์ ์ถฉ์กฑ์ํค๋๋ฐ ํ์ํ ๋ฐ์ดํฐ์ ์ ๊ทผ
- template์๊ฒ ์๋ต์ ์์ ์ค์ ์ ๋งก๊น
- HTTP์์ฒญ์ ์์ ํ๊ณ HTTP ์๋ต์ ๋ฐํ
1)http request - ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ์์ฒญ์ ๋ฐ์
2)URLS - ์์ฒญ์ ๋ฐ์ ์ ์ ํ view๋ฅผ ์ฐพ์ ์์ฒญ์ ์ ๋ฌ
3)View
- ์๋ต
- template์ด ์์ผ๋ฉด ๊ฐ์ ธ์ด (optional)
- model๊ณผ์ ์ํธ์์ฉ (optional)
4)์๋ต (HTTP Response - HTML)
Project & Application
- project
- Project๋ ์ฑ์ ์งํฉ! (collection of apps)
- ํ๋ก์ ํธ์๋ ์ฌ๋ฌ๊ฐ์ ์ฑ์ด ํฌํจ๋ ์ ์์!
- ์ฑ์ ์ฌ๋ฌ ํ๋ก์ ํธ์ ์์ ์ ์์
- application
- ์ฑ์ ์ค์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ํ์ด์ง๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ํ๋ ๋ฑ์ ์ญํ ์ ๋ด๋น
- ํ๋์ ํ๋ก์ ํธ๋ ์ฌ๋ฌ ์ฑ์ ๊ฐ์ง
- ์ผ๋ฐ์ ์ผ๋ก ์ฑ์ ํ๋์ ์ญํ ๋ฐ ๊ธฐ๋ฅ ๋จ์๋ก ์์ฑํจ
์ฑ๋ฑ๋ก
- project์ settings.py์์ INSTALLED_APPS์ ๋ฐ๋์ ์ฑ์ ๋ฑ๋กํด์ค์ผํจ!
- INSTALLED_APPS
- Django installation์ ํ์ฑํ ๋ ๋ชจ๋ ์ฑ์ ์ง์ ํ๋ ๋ฌธ์์ด ๋ชฉ๋ก
- ๋ฐ๋์ ์์ฑ ํ ๋ฑ๋ก!!
- ๋จผ์ ์์ฑ(๋ฑ๋ก)ํ๊ณ ์์ฑํ๋ ค๋ฉด ์ฑ์ด ์์ฑ์ด ์๋จ
INSTALLED_APPS = [
#Local apps
'articles',
#Third party apps
'djangorestframework',
#Django apps
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
- ํด๋น ์์๋ฅผ advancedํ ๋ด์ฉ ๋๋น๋ฅผ ์ํด ์งํค๋๊ฑธ ๊ถ์ฅ
<์์ฒญ๊ณผ ์๋ต>
URLs
- HTTP์์ฒญ(request)์ ์๋ง์ view๋ก ์ ๋ฌ
- ์ฅ๊ณ ๋ ๋ฐ๋์ end slash (/)๋ฅผ ์ฌ์ฉํด์ผํจ!
View
- HTTP์์ฒญ์ ์์ ํ๊ณ HTTP ์๋ต์ ๋ฐํํ๋ ํจ์ ์์ฑ
- Model์ ํตํด ์์ฒญ์ ๋ง๋ ํ์ ๋ฐ์ดํฐ์ ์ ๊ทผ
- Template์๊ฒ HTTP ์๋ต ์์์ ๋งก๊น
- view๋ app์ ์์! -views.py๋ ์ผ์ข ์ ๋ชจ๋
- django - trailing comma์ฅ๊ณ ์์๋ trailing comma๋ฅผ ์์ฑ! -์์ฐ์ฑ์ ๋์ด๊ธฐ ์ํด์!
- ํ์ด์ฌ์ ๋ฆฌ์คํธ์ ์์ ํ๋์ผ ๋ ‘ ,’๋ฅผ ์์ฐ์ง๋ง
- *****view ํจ์๊ฐ ๋ฌด์กฐ๊ฑด ๋ฐ์์ผ ํ๋ ์ธ์ : requesturls.py์์์ ์์ฒญ์ด ๋์ด์ด
- request ์์ฑ ์ ํ๋ฉด ์ค๋ฅ๋จ!! ์ฒซ๋ฒ์งธ ํ์ ์ธ์์.
Templates
- ์ค์ ๋ด์ฉ์ ๋ณด์ฌ์ฃผ๋๋ฐ ์ฌ์ฉ๋๋ ํ์ผ
- ํ์ผ์ ๊ตฌ์กฐ๋ ๋ ์ด์์์ ์ ์ ( ex.HTML)
- Template ํ์ผ ๊ฒฝ๋ก์ ๊ธฐ๋ณธ ๊ฐ์ app ํด๋ ์์ templates ํด๋๋ก ์ง์ ๋จ!
- app์ templates ํด๋๋ฅผ ๋ง๋ค๊ณ OOOO.html์์ฑ
์ถ๊ฐ์ค์
- LANGUAGE_CODE
- ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ์ ๊ณต๋๋ ๋ฒ์ญ์ ๊ฒฐ์
- ์ด ์ค์ ์ด ์ ์ฉ๋๋ ค๋ฉด USE_I18N์ด ํ์ฑํ๋์ด ์์ด์ผ ํจ
- language-identifiers
- TIME_ZONE
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ ์๊ฐ๋๋ฅผ ๋ํ๋ด๋ ๋ฌธ์์ด ์ง์
- USE_TZ๊ฐ True์ด๊ณ ์ด ์ต์ ์ด ์ค์ ๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ ๋ฒ ์ด์ค์์ ๋ ์ง ์๊ฐ์ ์ฝ์ผ๋ฉด, UTC๋์ ์๋ก ์ค์ ํ ์๊ฐ๋์ ์ธ์ ๋ ์ง & ์๊ฐ์ด ๋ฐํ ๋จ
- USE_TZ์ด False์ธ ์ํ๋ก ์ด ๊ฐ์ ์ค์ ํ๋ ๊ฒ์ error๊ฐ ๋ฐ์ํ๋ฏ๋ก ์ฃผ์!
- List of tz database time zones
- USE_I18N
- Django์ ๋ฒ์ญ ์์คํ ์ ํ์ฑํํด์ผ ํ๋์ง ์ฌ๋ถ๋ฅผ ์ง์
- USE_L10N
- ๋ฐ์ดํฐ์ ์ง์ญํ ๋ ํ์(localized formatting)์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํํ ์ง ์ฌ๋ถ๋ฅผ ์ง์
- True์ผ ๊ฒฝ์ฐ, Django๋ ํ์ฌ locale์ ํ์์ ์ฌ์ฉํ์ฌ ์ซ์์ ๋ ์ง๋ฅผ ํ์
- USE_TZ
- datetimes๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์๊ฐ๋๋ฅผ ์ธ์ํ๋์ง ์ฌ๋ถ๋ฅผ ์ง์
- True์ผ ๊ฒฝ์ฐ Django๋ ๋ด๋ถ์ ์ผ๋ก ์๊ฐ๋ ์ธ์ ๋ ์ง/์๊ฐ์ ์ฌ์ฉ
'Development > Django' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Django ํ๊ฒฝ ํ์ฑํ (0) | 2022.03.06 |
---|
๋๊ธ