๋ชฉ๋ก๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (60)

Study Anything ๐Ÿง

[Django] ํ•œ ํ”„๋กœ์ ํŠธ ๋‚ด์—์„œ ๋‹ค๋ฅธ ์•ฑ์˜ ๋ชจ๋ธ ์‚ฌ์šฉํ•˜๊ธฐ

ํ”„๋กœ์ ํŠธ๋ฅผ ์—ฌ๋Ÿฌ ๋ช…์ด ํ•จ๊ป˜ ์ง„ํ–‰ํ•˜๋‹ค๋ณด๋‹ˆ ๊ฐ ํŒ€์›์ด ์„œ๋กœ ๋‹ค๋ฅธ ์•ฑ์„ ๊ตฌํ˜„ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์ด ๋•Œ ๋‹ค๋ฅธ ์•ฑ์˜ ๋ชจ๋ธ ํ•„๋“œ๋ฅผ ์™ธ๋ž˜ํ‚ค๋กœ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๋ชจ๋ธ ์ž์ฒด๋ฅผ ๋‚ด ์•ฑ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๋Š”์ง€์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ๋‹ค๋ค„๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ํŽธ์˜์ƒ ๋‚ด ์•ฑ์˜ ์ด๋ฆ„์€ 'myapp', ๋‹ค๋ฅธ ํŒ€์›์˜ ์•ฑ ์ด๋ฆ„์€ 'yourapp'์œผ๋กœ ์„œ์ˆ ํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค. ๋ชจ๋ธ๋“ค์˜ ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. # myapp/models.py class Review(models.Model): ... userId = models.ForeignKey(User, on_delete=models.CASCADE) ... # yourapp/models.py class User(models.Model): ... Review ๋ชจ๋ธ์—์„œ๋Š” User ๋ชจ๋ธ์„ ์™ธ๋ž˜ํ‚ค๋กœ ์‚ฌ์šฉํ•˜์ง€๋งŒ ..

์Šคํ„ฐ๋””/Web 2022. 2. 9. 00:03
[Pandas] ํŒ๋‹ค์Šค์™€ ์‹œ๋ฆฌ์ฆˆ ๊ธฐ๋ณธ

์ฐธ๊ณ  : https://wikidocs.net/75004 Pandas(์ดํ•˜ ํŒ๋‹ค์Šค)๋Š” ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ๋ฐ์ดํ„ฐ ์กฐ์ž‘ ๋ฐ ๋ถ„์„์— ์šฉ์ดํ•˜๋ฉฐ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฌ์šด ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„, ์‹œ๋ฆฌ์ฆˆ, ์ธ๋ฑ์Šค ๋“ฑ์˜ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ”๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ, SQL๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹จ๋… ์‚ฌ์šฉ๋ณด๋‹ค๋Š” NumPy, scikit-leran, matplotlib ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. (1) ํŒ๋‹ค์Šค์˜ ์ž๋ฃŒ๊ตฌ์กฐ ํŒ๋‹ค์Šค๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ์‹œ๋ฆฌ์ฆˆ๋Š” ๋ฐฐ์—ด ํ˜•์‹, ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์€ ํ‘œ ํ˜•์‹์˜ ๊ตฌ์กฐ์ด๋ฉฐ ์‹œ๋ฆฌ์ฆˆ๊ฐ€ ๋ชจ์—ฌ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์„ ๊ตฌ์„ฑํ•œ๋‹ค. ์‹œ๋ฆฌ์ฆˆ : ๊ฐ’(values) + ์ธ๋ฑ์Šค(index) ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ : ์นผ๋Ÿผ(columns) + ์ธ๋ฑ์Šค..

์„œํ‰ ์ž‘์„ฑ (4) - ์„œํ‰์„ DB์— ์ €์žฅํ•˜๊ณ  ๋ถˆ๋Ÿฌ์˜ค๊ธฐ (POST, GET)

์ง€๋‚œ ํฌ์ŠคํŠธ๊นŒ์ง€ ๊ตฌํ˜„ํ–ˆ๋˜ ์„œํ‰ ์ž‘์„ฑ ๊ธฐ๋Šฅ๋“ค์€ ์žฅ๊ณ  ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•ด์„œ ๊ตฌํ˜„ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ๊ฐ€ ํ”„๋ก ํŠธ์™€ ๋ฐฑ์—”๋“œ๊ฐ€ ๋‚˜๋ˆ ์ ธ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋ก ํŠธ์™€ ๋ฐฑ์—”๋“œ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์—ฌ๋Ÿฌ ๋ฐฉ๋ฉด์œผ๋กœ ๋ชจ์ƒ‰ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด์„œ ์ตœ์ข…์ ์œผ๋กœ ์žฅ๊ณ  ๋ ˆ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ (DRF: Django REST Framework) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋ก ํŠธ์ธ ๋ฆฌ์•กํŠธ์™€ ๋ฐฑ์—”๋“œ์ธ ์žฅ๊ณ ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ ์ž ํ•˜์˜€๋‹ค. ๊ทธ๋Ÿฌ๋˜ ์ค‘ ์˜ค๋Š˜ ๋“œ๋””์–ด!! ํ”„๋ก ํŠธ์ธ ๋ฆฌ์•กํŠธ ํŽ˜์ด์ง€์—์„œ ์ž‘์„ฑํ•œ ์„œํ‰์˜ ๋‚ด์šฉ์„ ๋ฐฑ์—”๋“œ์ธ ์žฅ๊ณ  ๋ชจ๋ธ์— ์ €์žฅํ•˜๊ณ  ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ฒƒ์„ ์™„์„ฑํ•ด์„œ ๊ทธ ๊ณผ์ •์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ํฌ์ŠคํŒ…ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. (1) ์žฅ๊ณ  : review/urls.py urls.py ํŒŒ์ผ์—์„œ๋Š” ์žฅ๊ณ  ์„œ๋ฒ„์˜ url ๋“ค์„ views.py ์˜ ํ•จ์ˆ˜๋“ค๊ณผ ์—ฐ๊ฒฐํ•˜๋Š” ๋‚ด์šฉ์„ ๋‹ด๊ณ  ์žˆ๋‹ค. path('', vie..

[Django] DRF : Serializer ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•, ์œ ํšจ์„ฑ ๊ฒ€์ฆ

์ฐธ๊ณ  : https://www.django-rest-framework.org/api-guide/serializers/ ์žฅ๊ณ  ๋ ˆ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ(Django REST Framework)๋ฅผ ์ด์šฉํ•ด REST API ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๋‹ค๋ณด๋ฉด Serializer๋ฅผ ๊ฑฐ์˜ ํ•„์ˆ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค. ํ•˜์ง€๋งŒ Serializer๊ฐ€ ์–ด๋–ค ๊ฐœ๋…์ธ์ง€ ์ž˜ ์™€๋‹ฟ์ง€ ์•Š์•„์„œ Serializer์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ณ  ์•Œ๊ฒŒ ๋œ ๊ฒƒ๋“ค์„ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. (1) Serializer๋ž€? ์ฟผ๋ฆฌ์…‹์ด๋‚˜ ๋ชจ๋ธ ์ธ์Šคํ„ด์Šค ๊ฐ™์€ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ๋“ค์„ ๋„ค์ดํ‹ฐ๋ธŒ ํŒŒ์ด์ฌ ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ json, xml ๋“ฑ์˜ ์ปจํ…์ธ  ํƒ€์ž…์œผ๋กœ ์‰ฝ๊ฒŒ ๋ Œ๋”๋งํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ง๋ ฌํ™”ํ•˜๋Š” Serializer๋Š” ์—ญ์ง๋ ฌํ™” ๊ธฐ๋Šฅ ๋˜ํ•œ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋“ค์–ด์˜ค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ฆํ•œ ํ›„์— ๋ถ„..

์Šคํ„ฐ๋””/Web 2022. 1. 30. 23:28
[Django] DRF : REST API๋ฅผ ํ†ตํ•ด ์žฅ๊ณ ์™€ ๋ฆฌ์•กํŠธ ์—ฐ๊ฒฐํ•˜๊ธฐ

์žฅ๊ณ ์™€ ๋ฆฌ์•กํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ• ์ค‘ DRF(Django REST Framework)๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. REST API ๋ฅผ ํ†ตํ•˜๋ฉด ๋ฐ์ดํ„ฐ์˜ CRUD(Create, Read, Update, Delete)๋ฅผ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” ํŠนํžˆ ๋ฐ์ดํ„ฐ์˜ Create, ๋ฆฌ์•กํŠธ์—์„œ ์ž‘์„ฑํ•œ ๊ธ€์„ ์žฅ๊ณ  ๋ชจ๋ธ์— ๋“ฑ๋กํ•˜๋Š” ๊ณผ์ •์„ ๋‹ค๋ค„๋ณด๋ ค๊ณ  ํ•œ๋‹ค. (๋ฆฌ์•กํŠธ์™€ ์žฅ๊ณ ์˜ ์„ค์น˜๋Š” ์ƒ๋žตํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค.) ์žฅ๊ณ  REST API ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ณผ์ •์€ ์ด์ „ ํฌ์ŠคํŠธ์—์„œ ๋‹ค๋ฃจ์—ˆ๋‹ค. ์žฅ๊ณ  ๋ชจ๋ธ์„ json ๊ฐ์ฒด๋กœ ์ถ”์ถœํ•˜๊ธฐ (DRF) ์žฅ๊ณ ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋‹ค ๋ณด๋ฉด ํ”„๋ก ํŠธ์™€ ์—ฐ๋™ํ•˜๊ฒŒ ๋  ๋•Œ๊ฐ€ ์žˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•๋“ค์€ ์ด์ „ ํฌ์ŠคํŠธ(link)์—์„œ ์ž์„ธํžˆ ์„ค๋ช…ํ–ˆ๊ณ , ์ด ํฌ์ŠคํŠธ์—์„œ๋Š” ๊ทธ ์ค‘ ์žฅ๊ณ ์—์„œ ๋งŒ๋“  ๋ชจ๋ธ์„ json ๊ฐ์ฒด๋กœ ์ถ”์ถœํ•ด์„œ ์ ‘..

์Šคํ„ฐ๋””/Web 2022. 1. 29. 23:34