J1Yun
ZU-TECHLOG
J1Yun
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๐Ÿ“‘ Category (135)
    • Algorithm (61)
      • ๐Ÿ“š Concept (6)
      • ๐Ÿ“˜ Baekjoon Judge (53)
      • ๐Ÿ“— Programmers (2)
    • Computer Science (42)
      • ๐Ÿ”’ Operating System (14)
      • ๐Ÿ“ก Network (15)
      • ๐Ÿ’พ Database (8)
      • ๐Ÿงฉ Design Pattern (4)
      • ๐Ÿ”‘ Security (1)
    • Activities (12)
      • ๐Ÿฆ ๋ฉ‹์Ÿ์ด์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ (6)
      • ๐Ÿ’ป SW๋งˆ์—์ŠคํŠธ๋กœ 13๊ธฐ (6)
    • Infra (1)
      • โ˜๏ธ AWS (1)
    • Languages (1)
      • ๐Ÿ’™ Python (1)
    • Backend (7)
      • ๐Ÿ”ต Django (4)
      • ๐ŸŸข Node.js (3)
    • Ect. (8)
      • ๐Ÿ’ฌ Talk (0)
      • ๐Ÿ—‚๏ธ ๊ฐœ๋ฐœ์ง๊ตฐ ์ทจ์—… ์ค€๋น„์ž๋ฃŒ (8)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

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

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

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

250x250
hELLO ยท Designed By ์ •์ƒ์šฐ.
J1Yun

ZU-TECHLOG

[๋‹จ๊ตญ๋Œ€] ๋ฉ‹์Ÿ์ด ์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ ์ •๊ทœ์„ธ์…˜ 3์ฃผ์ฐจ - Django ๊ธฐ์ดˆ
Activities/๐Ÿฆ ๋ฉ‹์Ÿ์ด์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ

[๋‹จ๊ตญ๋Œ€] ๋ฉ‹์Ÿ์ด ์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ ์ •๊ทœ์„ธ์…˜ 3์ฃผ์ฐจ - Django ๊ธฐ์ดˆ

728x90

Django ๊ต์œก ๋‚ด์šฉ ํ•„๊ธฐ (๊ณผ์ œ)

  • Django ์‹œ์ž‘
    • python –m venv[๊ฐ€์ƒํ™˜๊ฒฝ๋ช…] : ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ
    • source[๊ฐ€์ƒํ™˜๊ฒฝ๋ช…]/Script/active : ๊ฐ€์ƒํ™˜๊ฒฝ ์‹คํ–‰
    • pip install django : django ๋‹ค์šด๋กœ๋“œ
    • django-admin startproject[ํ”„๋กœ์ ํŠธ์ด๋ฆ„] : ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ
    • python manage.py startapp ์•ฑ์ด๋ฆ„ : App ์ƒ์„ฑ ( App์ด๋ž€, Django ํ”„๋กœ์ ํŠธ๋ฅผ ์ด๋ฃจ๋Š” ์ž‘์€ ๋‹จ์œ„ ex) ๋„ค์ด๋ฒ„๋ฉ”์ผ, ๋„ค์ด๋ฒ„์‡ผํ•‘ ๋“ฑ )
    • python manage.py runserver : ์„œ๋ฒ„ ๊ธฐ๋™
  • ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ตฌ์กฐ
    • ์ ˆ๋Œ€ ๊ฒฝ๋กœ : ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ(/)๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ์›ํ•˜๋Š” ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ๋ชจ๋‘ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ
      ex) \Users\Desktop\likelion_9th_study\lion.jpg
    • ์ƒ๋Œ€ ๊ฒฝ๋กœ : ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ(.)๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ๋‹จ๊ณ„์ ์œผ๋กœ ์›ํ•˜๋Š” ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ํ‘œํ˜„ํ•œ ๊ฒƒ
      ex) ..\likelion_9th_study\lion.jpg
  • ๋ช…๋ น์–ด
    • pwd : ํ˜„์žฌ ์œ„์น˜
    • man : ๋ช…๋ น์–ด ์„ค๋ช…์„œ
    • ls : ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ชฉ๋ก
    • cd : ํ˜„์žฌ ์œ„์น˜ ์ด๋™
    • clear : ํ„ฐ๋ฏธ๋„ ์ฒญ์†Œ
  • MTV ํŒจํ„ด
    • Model(beckend), Templete(frontend), View(backend)
    • Templete : ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด์ด๋Š” ์˜์—ญ -> HTML / CSS / ํ…œํ”Œ๋ฆฟ ์–ธ์–ด
    • Model : Database(DB)
    • View : ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ณณ
  • Git
    • Git : ์ž์‹ ์ด ์ž‘์—…ํ•œ ์ฝ”๋“œ
    • Github : ์ž์‹ ์ด ์ž‘์—…ํ•œ ์ฝ”๋“œ๋ฅผ ๊ณต์œ 
    • ์ €์žฅํ•  ํŒŒ์ผ ์„ ํƒ (git add) -> ์„ ํƒํ•œ ํŒŒ์ผ ์ €์žฅ (git commit)
    • ์—…๋กœ๋“œ: git init -> git add -> git commit –m “messege” -> git remote add [remote ์ด๋ฆ„] [repository ์ฃผ์†Œ] -> git push [remote์ด๋ฆ„] [branch ์ด๋ฆ„]
  • ์›น ํŽ˜์ด์ง€ ๊ตฌ๋™ ์ˆœ์„œ
    • ์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ
    • ์„œ๋ฒ„์˜ view๋Š” model์—๊ฒŒ ์š”์ฒญ์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์Œ
    • view๋Š” ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•ด์„œ template์œผ๋กœ ๋„˜๊น€
    • template์€ ๋ฐ›์€ ์ •๋ณด๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์คŒ

 

์‹ค์Šต) ์‚ฌ์šฉ์ž ์ด๋ฆ„ ๋ฐ›์•„์„œ ์ถœ๋ ฅํ•˜๋Š” ์›น

์™ผ์ชฝ์˜ welcome.html ํŽ˜์ด์ง€์—์„œ ์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์—ฌ ์ œ์ถœํ•˜๋ฉด ์˜ค๋ฅธ ์ชฝ์˜ hello.html ํŽ˜์ด์ง€๋กœ ๋„˜์–ด๊ฐ€ "๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค! [์ด๋ฆ„]๋‹˜" ๊ฐ€ ์ถœ๋ ฅ๋˜๊ฒŒ๋” ํ•˜๋Š” ์‹ค์Šต์„ ์ง„ํ–‰ํ•˜์˜€๋‹ค.

welcome.html์—์„œ input ๋ฐ•์Šค์— ์ ํ˜€ ์žˆ๋Š” ๋‚ด์šฉ์„ hello.html์˜ ์ธ์ž๋กœ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด ๊ด€๊ฑด์ด์—ˆ๋‹ค.

์œ„ ์‹ค์Šต์˜ ์ฝ”๋“œ ์ž‘์„ฑ ์ˆœ์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. App ์ƒ์„ฑํ•˜๊ธฐ
    • ํ„ฐ๋ฏธ๋„์—์„œ python manage.py startapp fisrtapp ๋กœ App ์ƒ์„ฑ
    • firstproject>firstproject>settings.py์˜ INSTALLED_APPS ๋ฆฌ์ŠคํŠธ์— 'firstapp.apps.FirstappConfig' ์ถ”๊ฐ€
  2. welcome.html - Template ์ƒ์„ฑํ•˜๊ธฐ
    • fisrtapp ํด๋” ์•„๋ž˜ templates ํด๋” ์ƒ์„ฑ
    • templates ํด๋” ์•„๋ž˜ welcome.html ํŒŒ์ผ ์ƒ์„ฑ ํ›„ ์ฝ”๋“œ ์ž‘์„ฑ
    • <div style="text-align: center">
          <h1>์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”</h1>
          <br>
          <form action="">
              <label for="nameInput">์ด๋ฆ„ : </label>
              <input id="nameInput" name="name">
              <input type="submit" value="์ œ์ถœ">
          </form>
      </div>
  3. Welcome - View ์ƒ์„ฑํ•˜๊ธฐ
    • firstproject>firstapp>views.py์— welcome.html ํŽ˜์ด์ง€๋ฅผ renderํ•ด์ฃผ๋Š” welcome ํ•จ์ˆ˜ ์ž‘์„ฑ
    • def welcome(request):
          return render(request, "welcome.html")
  4. Welcome – URL ์—ฐ๊ฒฐํ•˜๊ธฐ
    • firstproject>firstproject>urls.py์— views๋ฅผ importํ•œ ํ›„ urlpatterns ๋ฆฌ์ŠคํŠธ์— views.py์˜ welcome ํ•จ์ˆ˜์™€ ์—ฐ๊ฒฐ๋˜๋Š” path ์ถ”๊ฐ€
    • from django.contrib import admin
      from django.urls import path
      from firstapp import views  #
      
      urlpatterns = [
          path('admin/', admin.site.urls),
          path('', views.welcome, name="welcome"), # 
      ]
  5. hello.html - Template ์ƒ์„ฑํ•˜๊ธฐ
    • templates ํด๋” ์•„๋ž˜ hello.html ํŒŒ์ผ ์ƒ์„ฑ ํ›„ ์ฝ”๋“œ ์ž‘์„ฑ
    • views.py์—์„œ ์ „๋‹ฌ๋ฐ›์€ ์ธ์ž {{userName}}
    • <div style="text-align: center">
          <h1>๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค! {{userName}}๋‹˜</h1>
      </div>
  6. Hello - View ์ƒ์„ฑํ•˜๊ธฐ
    • firstproject>firstapp>views.py ์— hello.html ํŽ˜์ด์ง€๋ฅผ renderํ•ด์ฃผ๋Š” hello ํ•จ์ˆ˜ ์ž‘์„ฑ
    • welcome.html๋กœ๋ถ€ํ„ฐ userName์„ ๊ฐ€์ ธ์™€ hello.html render ์‹œ ์ธ์ž๋กœ ์ „๋‹ฌ
    • def hello(request):
          userName = request.GET['name']
          return render(request, "hello.html", {'userName' : userName})
  7. Hello - URL ์—ฐ๊ฒฐํ•˜๊ธฐ
    • firstproject>firstproject>urls.py์˜ urlpatterns ๋ฆฌ์ŠคํŠธ์— views.py์˜ hello ํ•จ์ˆ˜์™€ ์—ฐ๊ฒฐ๋˜๋Š” path ์ž‘์„ฑ
    • urlpatterns = [
          path('admin/', admin.site.urls),
          path('', views.welcome, name="welcome"),
          path('hello/', views.hello, name="hello"), #
      ]
  8. welcome.html ์ˆ˜์ •
    • welcome.html์—์„œ input ๊ฐ’(์ด๋ฆ„)์ด ์ œ์ถœ๋˜๋ฉด 'hello' url์„ ํ†ตํ•ด hello.html๋กœ ์ „๋‹ฌ๋  ์ˆ˜ ์žˆ๋„๋ก formํƒœ๊ทธ์˜ action ์†์„ฑ์„ 'hello'์œผ๋กœ ์ง€์ •
    • <form action="hello">
          <label for="nameInput">์ด๋ฆ„ : </label>
          <input id="nameInput" name="name">
          <input type="submit" value="์ œ์ถœ">
      </form>
      

 

์ „์ฒด ์‹ค์Šต ์ฝ”๋“œ๋Š” ์•„๋ž˜ ๊นƒํ—ˆ๋ธŒ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

https://github.com/J1Yun/likelion/tree/main/3.%20Django/helloUser

 

J1Yun/likelion

๐Ÿฆ๋‹จ๊ตญ๋Œ€ํ•™๊ต ๋ฉ‹์Ÿ์ด ์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ. Contribute to J1Yun/likelion development by creating an account on GitHub.

github.com

 

 

728x90

'Activities > ๐Ÿฆ ๋ฉ‹์Ÿ์ด์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋‹จ๊ตญ๋Œ€] ๋ฉ‹์Ÿ์ด ์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ ์ •๊ทœ์„ธ์…˜ 5~7์ฃผ์ฐจ - Blog Project  (0) 2021.07.20
[๋‹จ๊ตญ๋Œ€] ๋ฉ‹์Ÿ์ด ์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ ์ •๊ทœ์„ธ์…˜ 4์ฃผ์ฐจ - Wordcount, Git  (0) 2021.07.07
[๋‹จ๊ตญ๋Œ€] ๋ฉ‹์Ÿ์ด ์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ ์ •๊ทœ์„ธ์…˜ 2์ฃผ์ฐจ - Python ๊ธฐ์ดˆ  (0) 2021.06.20
[๋‹จ๊ตญ๋Œ€] ๋ฉ‹์Ÿ์ด ์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ ์ •๊ทœ์„ธ์…˜ 1์ฃผ์ฐจ - ์›น ๊ธฐ์ดˆ, HTML/CSS  (0) 2021.05.25
[๋‹จ๊ตญ๋Œ€] ๋ฉ‹์Ÿ์ด ์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ ์„œ๋ฅ˜ ๋ฐ ๋ฉด์ ‘ ํ•ฉ๊ฒฉ ํ›„๊ธฐ  (2) 2021.05.12
    'Activities/๐Ÿฆ ๋ฉ‹์Ÿ์ด์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€์ด๋‹ค
    • [๋‹จ๊ตญ๋Œ€] ๋ฉ‹์Ÿ์ด ์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ ์ •๊ทœ์„ธ์…˜ 5~7์ฃผ์ฐจ - Blog Project
    • [๋‹จ๊ตญ๋Œ€] ๋ฉ‹์Ÿ์ด ์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ ์ •๊ทœ์„ธ์…˜ 4์ฃผ์ฐจ - Wordcount, Git
    • [๋‹จ๊ตญ๋Œ€] ๋ฉ‹์Ÿ์ด ์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ ์ •๊ทœ์„ธ์…˜ 2์ฃผ์ฐจ - Python ๊ธฐ์ดˆ
    • [๋‹จ๊ตญ๋Œ€] ๋ฉ‹์Ÿ์ด ์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ ์ •๊ทœ์„ธ์…˜ 1์ฃผ์ฐจ - ์›น ๊ธฐ์ดˆ, HTML/CSS
    J1Yun
    J1Yun
    ๊ฐœ๋ฐœ ๊ด€๋ จ ๊ธฐ์ˆ  ๋ฐ ๊ณต๋ถ€ ๋‚ด์šฉ ๊ธฐ๋ก์žฅ

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