Django ์ธ๋ค์ผํ ๋ฆฌ์คํธํ 3/14 ์_์ธํฐํ์ด์ค ํ๋ก์ ํธ ์ค๋๋ง!! ๋๋์ด ์ธํฐํ์ด์ค ํ๋ก์ ํธ๊ฐ ๋ง๋ฌด๋ฆฌ๋์๋ค! 2/22 ํ์์ผ๋ถํฐ 3/9 ์์์ผ๊น์ง 16์ผ ๋์ ์์ ํ๊ณ , 3/14 ์ค๋! ๋ฐํ๋ฅผ ์งํํ๋ค. ์ฐ๋ฆฌ๋ ๋ฏธ๋ฆฌ ๋๋ณธ์ ๋ง๋ค์ด ๋ฐํ๋ถํฐ ์์ฐ๊น์ง ์์์ผ๋ก ์ดฌ์ํจ. ์๋ฐฉ์ ์ข ํํฉ API๋ ๋ง์ง๋ง๊น์ง ์์ธ ํ์ด์ง ์น๋์์ธ ๋ง์ง ๊ฑฐ(์๊น ํต์ผ) GitHub์ ์ฌ๋ ธ๋๋ฐ, ์์์ ๋ฐ์์ด ์ ๋ผ์ ๋๋ฌด ์์ฝ๋ค. ๐ 1์กฐ - ์ํ ์ปค๋ฎค๋ํฐ : ์์ (์นด์นด์ค ๊ณ์ ) ์ฐ๋ ํ์๊ฐ์ 2์กฐ - ๋ง์ง ์ปค๋ฎค๋ํฐ : Map API 3์กฐ - ์ผํ๋ชฐ : ์ ํ ์นดํ ๊ณ ๋ฆฌ, ์ฅ๋ฐ๊ตฌ๋, ๋๊ธ ์ ์์ผ๋ก ์ ํ ์ถ์ฒ 4์กฐ - ์ฝ๋ก๋ ์ปค๋ฎค๋ํฐ : Map API(๋ณ์ · ์ฝ๊ตญ ๋งํน), ์๋ฐฉ์ ์ข · ํ์ง์ ํํฉ API, ์๊ฐ์ง๋จ, ์ ๋ฌธ์ ์์ฃผ ๊ฒ์ํ 5์กฐ - ์ํ · TV ํ๋ก๊ทธ๋จ ๊ฒ์ : ์ฅ๋ฅด์ ๋ฐ๋ผ.. ๋๋ณด๊ธฐ 2/21 ์ ์์์ผ! ์ค๋์ Django์์ ์ ๊ณตํด์ฃผ๋ ์ฌ์ฉ์ ๋ฐ ๊ถํ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ํ์ฅํด์ ์ฌ์ฉํ๋ค. ์คํ 3์๋ถํฐ๋ ์ธํฐํ์ด์ค ๊ฐ๋ฐ ์์ ์ ๋ํ ์ํ์ด ์๊ณ , ์คํ 4์๋ถํฐ ํ ํ๋ก์ ํธ ์งํ! 1. users app ๋ง๋ค๊ณ lecture ํด๋์ settings.py์ ์ฑ ๋ฑ๋ก ↓PyCharm Terminal↓, ↓settings.py↓ python manage.py startapp users # PyCharm Terminal -------------------------------- INSTALLED_APPS = [ # lecture ํด๋์ settings.py 'users.apps.UsersConfig' ] 2. MySQL์์ auth_user์ DESC ๋ณด๊ธฐ. username์ด id 3. auth_user D.. ๋๋ณด๊ธฐ 2/18 ๊ธ ์ ๋ถ๊ธ!!!!! ๐ฑ๐๐ฑ๐ค ์ค๋์ ์ด์ ์ถ๊ฐํ๋ ๊ฒ์ํ ๊ธ ์์ธ๋ณด๊ธฐ ํ์ด์ง ํ๋จ์ ๋ฃ์๋ ๋ฒํผ๋ค์ ๊ธฐ๋ฅ์ ์คํ์ํจ๋ค. ์คํ 3์ ๋ฐ ์ ๋์ ๊ฒ์ํ ๊ตฌํ์ ๋ง๋ฌด๋ฆฌ ์ง๊ณ , ํธ์ฑ๋ ์กฐ๋ณ๋ก ์ํ์์ค์์ ๋๋จธ์ง ์๊ฐ์ ๋ณด๋๋ค. ํ์๋ค๊ณผ ์์ด์ค๋ธ๋ ์ดํน, ์น ํ๋ก์ ํธ ์ฃผ์ ์ ์ , ์คํ ๋ฆฌ ๋ณด๋ ์์ฑํจ~ ์์์ผ์๋ ์ธํฐํ์ด์ค ๊ฐ๋ฐ ์์ ์ ๋ํ ์ฒซ ํ๊ฐ(ํ๋ต)๊ฐ ์์ ์์ ! ์ฃผ๋ง ๋์ ์ฌํ ๋ฐฐ์ฐ๋ฉฐ ์ ๋ฆฌํ๋ ๋ด์ฉ๋ค์ ๋ค์ ์ ๊ฒํ๊ณ , ๊ฒ์ํ ๊ธฐ๋ฅ์ ๋ง์ ๊ตฌํํด์ผ ํ๋ค. 1. ๋ฆฌ์คํธ๋ก ๋์๊ฐ๊ธฐ ๋ฒํผ JavaScript event ๋ฐฉ์(Delegation Model)์ผ๋ก ์ฒ๋ฆฌ ↓detail.html↓ ๋ฆฌ์คํธ๋ก ๋์๊ฐ๊ธฐ ↓menu_btn.js↓ function to_list() { document.location.href = .. ๋๋ณด๊ธฐ 2/17 ๋ชฉ ๋ชฉ์์ผ! ๋ฆฌ์คํธ๋ก ๋์๊ฐ๊ธฐ, ์์ , ์ญ์ , ์ข์์ ๋ฒํผ์ ๋ง๋ค๊ณ ๊ฐ๊ฐ์ ๊ธฐ๋ฅ์ ์ฌํ ๋ฐฐ์ด ๊ฒ์ ์์ฉํด ๊ตฌํํด์ผ ํ๋๋ฐ ์ด๋ ต๋ค์์์์! ๋ฆฌ์คํธ๋ก ๋์๊ฐ๊ธฐ ๋ง๊ณ ๋ ๊ฐ์ด ์ ์กํ.. 1. HTML ์๋ฆฌ๋จผํธ๋ฅผ ์ด์ฉํด์ ์ฌ์ฉ์ ์ ๋ ฅ ์์(์ ๋ ฅ Form)์ ๋ง๋๋ ๊ฒ์ด ์๋๋ผ, Django๊ฐ ์ ๊ณตํ๋ Model Form(class)๋ฅผ ์ด์ฉํจ bbs App ๋๋ ํฐ๋ฆฌ ์์ forms.py ์์ฑํ๊ณ Django์์ forms ๋ชจ๋, bbs.models์์ class๋ฅผ ๋ถ๋ฌ์จ ํ form์ ๋ํ class ์ ์ํจ ↓forms.py↓ from django import forms from bbs.models import Board class BoardForm(forms.ModelForm): class Meta: model =.. ๋๋ณด๊ธฐ 2/16 ์ ์์์ผ! ์ค๋์ Django๋ก ๊ฒ์ํ์ ๋ง๋ ๋ค. 1. ๋ฃจํธ ๋ํ ํฐ๋ฆฌ ๋ฐ๋ก ๋ฐ์ ํ ํ๋ฆฟ์ ๋ชจ์ ์ ์ฅํ ๋ํ ํฐ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ , settings.py ํ์ผ์์ os ๋ชจ๋(๊ฒฝ๋ก์ ํ์ผ๋ช ์ ํฉ์นจ)์ import ํ ํ์ ํ ํ๋ฆฟ ๋ํ ํฐ๋ฆฌ๋ฅผ ์ฐ๊ฒฐํจ os.path.join(๊ฒฝ๋ก, 'ํ์ผ๋ช ') → C:/python-django/LectureSampleProject_0216/template ํ์ผ๋ค 2. Static files(CSS, JS, images)์ client์ request URL์์ ๋์ค๋ ํํ์ด๋ฏ๋ก, ๋ฃจํธ ๋๋ ํฐ๋ฆฌ ๋ฐ๋ก ๋ฐ์ static ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ settings.py ํ์ผ์์ static ๋ํ ํฐ๋ฆฌ๋ฅผ ์ฐ๊ฒฐํจ ๋ฃจํธ ๋๋ ํฐ๋ฆฌ ๋ฐ๋ก ๋ฐ์ media ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ Media ํ์ผ(client๊ฐ server์.. ๋๋ณด๊ธฐ 2/15 ํ ํ์์ผ! PyCharm์ผ๋ก ์ง๋๋ฒ์ ํ๋ Project(MyFirstWeb_0215) ์์ฑ, Django ์ค์น ๋ฐ MySQL ์ฐ๋์ ๋๊ฐ์ด ์งํํ๋ค. 1. ์ค๋์ templates ํด๋ ์์ ์ถ๊ฐ๋ก polls ํด๋๋ฅผ ๋ง๋ค๊ณ index.html ํ์ผ์ ์์ฑํด์ค 2. HttpResponse ์์ ์ง๋ฌธ์ ํด๋ฆญํ๋ฉด question.id๊ฐ ์ฐ๊ฒฐ๋๋๋ก link ์์ฑ ์ง์ ํ๊ธฐ 3. urls.py(polls URLConf) ํ์ผ์์ question_id์ ๋ํ URLConf์ ๊ฒฝ๋ก๋ฅผ ์ค์ ํด์ผ ํจ 4. polls App์ ํด๋น๋๋ URL๋ก ์ง์ (request)ํ๋ฉด view๋ก detailํจ์๊ฐ ํธ์ถ๋๋ฏ๋ก ์ด๋ฅผ ์ ์ํด์ผ ํจ 5. templates/polls ํด๋ ์์ detail๋ผ๋ HTML ํ์ผ์ ๋ง๋ค์ด์ค 6. polls.. ๋๋ณด๊ธฐ 2/14 ์ ์์์ผ! ๐ฑ๐ ์ง๋ ๊ธ์์ผ์ ์ด์ด PyCharm๊ณผ MySQL์ ์ด์ฉํด Django๋ฅผ ๋ฐฐ์ด๋ค! PyCharm์ผ๋ก ์ง๋๋ฒ์ ํ๋ Project(MyFirstWeb_0214) ์์ฑ, Django ์ค์น ๋ฐ MySQL ์ฐ๋์ ๋๊ฐ์ด ์งํํ๋ค. 1. MySQL๋ก DB Table์ ๋ง๋๋ ๊ฒ์ด ์๋, PyCharm์์ Python ๋ชจ๋ ์ค models๋ฅผ ๋ถ๋ฌ์์ class๋ฅผ ๋ง๋ฆ polls ํด๋์ models.py ํ์ผ ์์ class๋ก DB Table ๋ช ์ธ๋ฅผ ์ค์ ํจ. model class๋ฅผ ๋ง๋ค ๋๋ ๋ฐ๋์ model.Model์ ์์ํด์ผ ํจ. PK(Primary Key)๊ฐ ์๋์ผ๋ก ํ๋ ์ค์ ๋จ from django.db import models class Question(models.Model): # id = .. ๋๋ณด๊ธฐ 2/11 ๊ธ ๐ ์ด์ผ์์์ ๋ถ๊ธ!! ๐ ํ๋ฐํธ์๋ ๋๋ด๊ณ , ๋ฐฑ์๋๋ก ๋์ด๊ฐ๋๋ค. Python์ผ๋ก ๋ง๋ค์ด์ง Web Application Framework, Django! WSGI(Web Server Gateway Interface) : Web์๋ฒ๊ฐ ๋ฐ์ ํธ์ถ์ Python ์ ํ๋ฆฌ์ผ์ด์ ์๊ฒ ์ ๋ฌํ๊ณ ์๋ต๋ฐ๊ธฐ ์ํ ํธ์ถ ์กฐ์ฝ(Calling Convention) Private Physical Server ์์ ๋ น์ ์ ์ผ๋ก ๊ทธ๋ ค์ง ๋ชจ๋ ๊ฒ๋ค์ ํฉ์ณ์ WAS(Web Application Server)๋ผ๊ณ ๋ถ๋ฆ Application์ ๋ด์ Web Server๋ผ๊ณ ์๊ฐํ๋ฉด ์ดํด๊ฐ ์ฌ์ ๊ทธ๋ฆฌ๊ณ ํ๋์์ผ๋ก ์น ํด์ง WSGI module๊ณผ WSGI Process๋ฅผ ํฉ์ณ์ WSGI middleware๋ผ๊ณ ๋ถ๋ฆ ํ๋๋ก ๊ตฌ์ฑ๋ ๊ฒ์ด ์๋๋ผ ์ผ.. ๋๋ณด๊ธฐ ์ด์ 1 2 ๋ค์