Django๋กœ Pinterest ๋”ฐ๋ผ๋งŒ๋“ค๊ธฐ : ์„น์…˜ 3. Authentication (27~29๊ฐ•)
ยท
๐Ÿ’ชBackend/Django
#27 Authentication ์ธ์ฆ์‹œ์Šคํ…œ ๊ตฌ์ถ• authentication ์šฐ๋ฆฌ๊ฐ€ account๋ฅผ ๋งŒ๋“  ์ด์œ ? : ์•„๋ฌด๋‚˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ˆ„๊ฐ€ ๋ˆ„๊ตฐ์ง€ ํ™•์ธ ํ•„์š”. view ์ˆ˜์ • views์—์„œ request.user.is_authenticated ๋กœ ๋กœ๊ทธ์ธ๋˜์–ด์žˆ๋Š”์ง€ ์•„๋‹Œ์ง€์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๋™์ž‘ ํ•˜๋„๋ก ์ˆ˜์ • ๋กœ๊ทธ์ธ ์•ˆ๋˜์–ด์žˆ๋Š” ๊ฒฝ์šฐ, ์œ„์ฒ˜๋Ÿผ ๋กœ๊ทธ์ธ์ฐฝ์œผ๋กœ redirect ๋จ class์•ˆ์— ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•ด์„œ get ๋‚ด๋ถ€ ํ–‰๋™์„ ์ง€์ •ํ•ด์ค„ ์ˆ˜ ์žˆ์Œ. def get(self, *args, **kwargs): if self.request.user.is_authenticated: return super().get(*args,**kwargs) else: return HttpResponseRedirec..
Django๋กœ Pinterest ๋”ฐ๋ผ๋งŒ๋“ค๊ธฐ : ์„น์…˜ 2. Accountapp implementation (21~26๊ฐ•)
ยท
๐Ÿ’ชBackend/Django
์„น์…˜2์—์„œ๋Š” accounapp์˜ crud์™€ login/logout์„ ๊ตฌํ˜„ #21 CreateView๋ฅผ ํ†ตํ•œ ํšŒ์›๊ฐ€์ž… ๊ตฌํ˜„ ํ˜„์žฌ ๊ฐ•์˜๊นŒ์ง€๋Š” ์œ„ ๊ตฌ์กฐ๋„์—์„œ ์žฅ๊ณ  ๋ถ€๋ถ„๋งŒ์„ ๊ตฌ์ถ•ํ•˜๊ณ  ์žˆ์Œ class AccountCreateView(CreateView): model = User form_class = UserCreationForm success_url = reverse_lazy('accountapp:hello_world') template_name = 'accountapp/create.html' ์ด๋Ÿฐ์‹์œผ๋กœ create view์ด์šฉํ•ด์„œ ํšŒ์›๊ฐ€์ž… ๊ตฌ์ถ• #22 Login/Logout ๊ตฌํ˜„ login๊ณผ logout view๋„ ์žฅ๊ณ ์—์„œ ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณตํ•ด์คŒ view ์‚ฌ์šฉ์œผ๋กœ url ์ˆ˜์ • path('login/',LoginVi..
Django๋กœ Pinterest ๋”ฐ๋ผ๋งŒ๋“ค๊ธฐ : ์„น์…˜ 1. Django Tutorial (19 ~ 20๊ฐ•)
ยท
๐Ÿ’ชBackend/Django
#19 Pycharm ๋””๋ฒ„๊น… ์„ค์ • ๋ฌธ์ œ๊ฐ€ ์žˆ๊ฑฐ๋‚˜ ํ• ๋•Œ ์–ด๋””๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž˜๋ชป๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ๋””๋ฒ„๊น…์ด ํ•„์š” ์ด๋ฅผ ์œ„ํ•œ ๋””๋ฒ„๊น… ์„ค์ • ์ง€๊ธˆ ์–ด๋–ค ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธ ๊ฐ€๋Šฅ ๊ทธ๋ƒฅ POST๋งŒ ๋ฒ„ํŠผ๋งŒ ๋ˆ„๋ฅธ ํ›„, temp ์—๋Š” ์•„๋ฌด ๊ฐ’ ์•ˆ๋“ค์–ด์žˆ์Œ!! #20 Django์˜ CRUD, Class Based View ์†Œ๊ฐœ ์ธ์ฆ ์‹œ์Šคํ…œ์„ ์ด์šฉํ•ด์„œ ์ธ์ฆ๋œ ์‚ฌ๋žŒ๋งŒ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก Signup = Create View info = Read Change info = Update Quit = Delete ์žฅ๊ณ ๊ฐ€ CRUD์— ์œ ์šฉ ํฌ๋ฃจ๋“œ๋กœ ์œ ๋ช…ํ•œ ์ด์œ ? ⇒ ์ฟ ๋ฅด๋“œ์— ๋Œ€ํ•œ view๋ฅผ ๋”ฐ๋กœ ์ œ๊ณต!! (class based view) ๋ฐ˜๋Œ€๋กœ function-based view → ํ•จ์ˆ˜ ๊ธฐ๋ฐ˜์˜ view, ์ง์ ‘ ์ž‘์„ฑํ•˜๋Š” ~… ๋„ˆ๋ฌด ๊ธธ์–ด..
Django๋กœ Pinterest ๋”ฐ๋ผ๋งŒ๋“ค๊ธฐ : ์„น์…˜ 1. Django Tutorial (14~18๊ฐ•)
ยท
๐Ÿ’ชBackend/Django
#14 Model, DB ์—ฐ๋™ ์žฅ๊ณ ์—์„œ Model์€ ์žฅ๊ณ ๋ž‘ db๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ๊ฒƒ python manage.py makemigraions ⇒ models.py ์— ์ ์–ด๋‘” ์ฝ”๋“œ๋ฅผ db์™€ ์—ฐ๋™์‹œํ‚ฌ ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์คŒ python manage.py migrate ⇒ DB์™€ ์—ฐ๋™ db.sqlite3 ์ด๊ฒŒ db ์—ฌ๊ธฐ์— ๋ชจ๋“  ์ •๋ณด ์ €์žฅ๋จ ** migrations ์•ˆ์— ์žˆ๋Š” migration ํŒŒ์ผ ์ž„์˜๋Œ€๋กœ ์ง€์šฐ์ง€ ๋ง๊ธฐ.!! #15 HTTP ํ”„๋กœํ† ์ฝœ GET, POST ์„œ๋ฒ„์™€ ํ†ต์‹ ์„ ํ•  ๋•Œ ์„œ๋ฒ„๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ์ถ”๊ฐ€์ ์ธ ์ •๋ณด๋ฅผ ๋„ฃ์–ด์ฃผ๋Š” ๋ฐฉ์‹ ⇒ GET, POST๊ฐ€ ์žˆ์Œ GET ์ฃผ๋กœ ์กฐํšŒ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ• ์ฃผ์†Œ ์•ˆ์— ์ถ”๊ฐ€์ ์ธ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋„ฃ์–ด์„œ ๋ณด๋ƒ„ POST ์„œ๋ฒ„ ์•ˆ์— ์ •๋ณด๋ฅผ ์ƒˆ๋กœ ๋„ฃ๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•  ๋•Œ ๋ณด๋‚ผ ์ •๋ณด๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๊ธฐ ..