Django๋กœ Pinterest ๋”ฐ๋ผ๋งŒ๋“ค๊ธฐ : ์„น์…˜ 1. Django Tutorial (14~18๊ฐ•)

2024. 1. 5. 20:01ยท๐Ÿ’ช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

์„œ๋ฒ„ ์•ˆ์— ์ •๋ณด๋ฅผ ์ƒˆ๋กœ ๋„ฃ๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•  ๋•Œ

๋ณด๋‚ผ ์ •๋ณด๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—

BODY์— ๋”ฐ๋กœ ์ •๋ณด๋ฅผ ๋„ฃ์–ด์„œ ๋ณด๋ƒ„

http์ƒํƒœ๋กœ ํ†ต์‹  ์ค‘์— ๋Š์–ด์„œ ๋ณด๋ฉด ์•”ํ˜ธํ™” ์•ˆ๋œ ์ •๋ณด๋ฅผ ๊ทธ๋Œ€๋กœ ๋ณผ ์ˆ˜ ์žˆ์Œ

https ๋กœ ์•”ํ˜ธํ™” ํ•„์š”

 

 


 

 

 

#16 GET, POST ์‹ค์Šต

 

post

post๋ฅผ ์“ฐ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ฝ”๋“œ๋‚ด์— form์„ ๋งŒ๋“ค์–ด์ฃผ์–ด์•ผํ•จ

์ „์†กํ•  ๋ฐ์ดํ„ฐ๋“ค์ด form์•ˆ์— ๋‹ค ๋“ค์–ด๊ฐ€๊ฒŒ ๋จ

{% csrf_token %}

์–˜๋ฅผ ํ•ญ์ƒ ์ ์–ด์ฃผ์–ด์•ผ POST ์ž‘๋™!

views.py ๋„ ์ˆ˜์ •ํ•ด์ฃผ๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ๋™์ž‘

 

 


 

 

#17 POST ํ†ต์‹ ์„ ํ†ตํ•œ DB ๋ฐ์ดํ„ฐ ์ €์žฅ ์‹ค์Šต

 

if request.method=="POST":
        temp=request.POST.get("hello_world_input")

        new_hello_world = HelloWorld()
        new_hello_world.text=temp
        new_hello_world.save()

 

post์ธ ๊ฒฝ์šฐ request์—์„œ input ๋ฐ›์•„์˜ค๊ณ , HelloWorld ๋ถˆ๋Ÿฌ์™€์„œ .text์— ๊ฐ’ ๋„ฃ์–ด์ค€ ๋’ค ์ €์žฅ

์ž…๋ ฅ์œผ๋กœ ๋„ฃ์€ text๊ฐ€ db์— ์ €์žฅ๋จ & ํ™”๋ฉด์— ์ถœ๋ ฅ

 

{{hello_world_output.text}}

 

์ด๋•Œ, ๊ฐ์ฒด์˜ text๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ด๋ผ ๊ทธ๋ƒฅ text์•„๋‹ˆ๊ณ  ๊ฐ์ฒด๋ช….text ํ•ด์คŒ

 

 

 


 

#18 DB ์ •๋ณด ์ ‘๊ทผ ๋ฐ ์žฅ๊ณ  ํ…œํ”Œ๋ฆฟ ๋‚ด for loop

 

db์— ์ €์žฅ๊นŒ์ง€ ํ–ˆ์œผ๋‹ˆ ์ด ์ €์žฅ๋œ ์ •๋ณด ๋ถˆ๋Ÿฌ์™€์„œ ํ™”๋ฉด์— displayํ•˜๊ธฐ

hello_world_list=HelloWorld.objects.all()
        return render(request,'accountapp/hello_world.html', context={'hello_world_list':hello_world_list})

.all()๋กœ ๋ชจ๋“  ์ •๋ณด ๋ถˆ๋Ÿฌ์™”๊ณ  returnํ•  ๋•Œ ๋„˜๊ฒจ์คŒ

 

{% if hello_world_list %}\\
            {% for hello_world in hello_world_list %}
            <h4>
                {{hello_world.text}}
            </h4>
            {% endfor %}

for๋ฌธ ๋Œ๋ฉด์„œ ๋ฐ›์•„์˜จ ๋ฐ์ดํ„ฐ์˜ text ๊ฐ’์„ h4๋กœ ํ•˜๋‚˜์”ฉ display

 

์ž…๋ ฅ ์—†์ด post๋งŒ ํ•  ๋•Œ ์ด์ „ ์ž…๋ ฅ๊ฐ’์ด ๊ณ„์† ๋“ค์–ด๊ฐ€์ง€ ์•Š๊ณ  ์žฌ์—ฐ๊ฒฐ๋งŒ ๋˜๋„๋ก

return HttpResponseRedirect(reverse('accountapp:hello_world'))

views.py์—์„œ return ์œ„์™€ ๊ฐ™์ด ์ˆ˜์ •

 

 

์‹ค์Šต ๊ฒฐ๊ณผ

 

 


 

๋ฐ•ํ™์„๋‹˜์˜ ์ธํ”„๋Ÿฐ ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜๋ฉฐ ์ •๋ฆฌํ•ด๋ณด๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค.

https://www.inflearn.com/course/%EC%9E%A5%EA%B3%A0-%ED%95%80%ED%84%B0%EB%A0%88%EC%8A%A4%ED%8A%B8

 

์ž‘์ •ํ•˜๊ณ  ์žฅ๊ณ ! Django๋กœ Pinterest ๋”ฐ๋ผ๋งŒ๋“ค๊ธฐ : ๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ๋ฐฐํฌ๊นŒ์ง€ ๊ฐ•์˜ - ์ธํ”„๋Ÿฐ

Python์˜ ๋Œ€ํ‘œ ์›น ํ”„๋ ˆ์ž„์›Œํฌ django๋ฅผ ์ด์šฉํ•ด Pinterest ํŠน์œ ์˜ ์นด๋“œํ˜• ๋ ˆ์ด์•„์›ƒ ๋””์ž์ธ์„ ๋ณธ๋”ด ์›น์„œ๋น„์Šค ๊ตฌํ˜„ํ•ด๋ด…๋‹ˆ๋‹ค., django, docker ์‹ค์ „ ๊ฐœ๋ฐœ์„ ํ†ตํ•ด ํ•œ ๋‹จ๊ณ„ ๋†’์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜

 

'๐Ÿ’ชBackend > Django' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Django๋กœ Pinterest ๋”ฐ๋ผ๋งŒ๋“ค๊ธฐ : ์„น์…˜ 2. Accountapp implementation (21~26๊ฐ•)  (0) 2024.01.06
Django๋กœ Pinterest ๋”ฐ๋ผ๋งŒ๋“ค๊ธฐ : ์„น์…˜ 1. Django Tutorial (19 ~ 20๊ฐ•)  (0) 2024.01.05
Django๋กœ Pinterest ๋”ฐ๋ผ๋งŒ๋“ค๊ธฐ : ์„น์…˜ 1. Django Tutorial (11 ~ 13๊ฐ•)  (0) 2024.01.05
Django๋กœ Pinterest ๋”ฐ๋ผ๋งŒ๋“ค๊ธฐ : ์„น์…˜ 1. Django Tutorial (8~10๊ฐ•)  (1) 2024.01.05
Django๋กœ pinterest ๋”ฐ๋ผ๋งŒ๋“ค๊ธฐ : ์„น์…˜ 1. Django Tutorial (5~7๊ฐ•)  (1) 2024.01.05
'๐Ÿ’ชBackend/Django' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • Django๋กœ Pinterest ๋”ฐ๋ผ๋งŒ๋“ค๊ธฐ : ์„น์…˜ 2. Accountapp implementation (21~26๊ฐ•)
  • Django๋กœ Pinterest ๋”ฐ๋ผ๋งŒ๋“ค๊ธฐ : ์„น์…˜ 1. Django Tutorial (19 ~ 20๊ฐ•)
  • Django๋กœ Pinterest ๋”ฐ๋ผ๋งŒ๋“ค๊ธฐ : ์„น์…˜ 1. Django Tutorial (11 ~ 13๊ฐ•)
  • Django๋กœ Pinterest ๋”ฐ๋ผ๋งŒ๋“ค๊ธฐ : ์„น์…˜ 1. Django Tutorial (8~10๊ฐ•)
.๋ฐ.
.๋ฐ.
  • .๋ฐ.
    Do IT
    .๋ฐ.
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • All (38)
      • ๐Ÿ’ป ์•Œ๊ณ ๋ฆฌ์ฆ˜ (21)
        • PS (16)
        • ์ด๋ก  (5)
      • ๐ŸŽˆcapstone (2)
      • ๐Ÿ’ชBackend (10)
        • Django (8)
        • Spring (2)
      • STD (0)
      • SQL (4)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    sql๊ณ ๋“์ ํ‚คํŠธ
    Django
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    ์„œ๋ธŒ์ฟผ๋ฆฌ
    ๋ฌธ์ œํ’€์ด
    windowํ•จ์ˆ˜
    programmers
    PS
    crud
    ํŒŒ์ด์ฌ
    ๋‹ค์ค‘์กฐ์ธ
    GlobalExceptionHandler
    ์ž๋ฐ”
    python
    prgms
    ์ž๊ธฐ์ฐธ์กฐ
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    ์žฌ๊ท€
    resposneentity
    MYSQL
    responsecustomclass
    14907
    ์‘๋‹ตํ˜•์‹
    SQL
    ๋ฐฑ์ค€
    bruteforce
    ์ฝ”ํ…Œ
    BFS
    BOJ
    apiresponse
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
.๋ฐ.
Django๋กœ Pinterest ๋”ฐ๋ผ๋งŒ๋“ค๊ธฐ : ์„น์…˜ 1. Django Tutorial (14~18๊ฐ•)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”