AI웹 개발자 과정 공부 (팀스파르타)/Django (장고)

24.04.12_TIL (Django 앱 실행해보기)

티아(tia) 2024. 4. 12. 21:02
728x90

 

 

1. django 의 앱을 사용하기 위해서는 생성, 등록 두가지가 필요하다. 먼저 App을 생성해보자.

python manage.py startapp <앱 이름>
python manage.py startapp articles
  • 장고에서는 앱 이름은 복수형을 권장한다.
  • 안쪽이 아닌 하나 바깥쪽에 생성된 것을 볼 수 있다.

 

 

2. 앱 등록하기

  •  settings.py 에서 33번째 줄에 보면 INSTALLED_APPS에 등록을 해줘야함. 41번째 줄에 추가한 것처럼 추가해줘야한다.
  • ' , ' 표시를 넣어주는 것을 습관화 해야 계속 추가해줄 때 빼먹는 실수가 없다.

 

 

 

 

장고 탬플릿을 뷰와 함께 연결해보자.
장고 도구를 사용하기



 

 

3. URL  요청과 응답

 

 

 

 

  1. 요청(Request)이 들어오면
  2. URL(urls.py) 처리
  3. View(views.py) 처리
  4. Template(html) 처리
  5. 응답(Response) 전달

 

 

# my_first_pjt/my_first_pjt/urls.py

from django.contrib import admin
from django.urls import path
from articles import views

urlpatterns = [
    path("admin/", admin.site.urls), 
    path("index/", views.index),
]

 

  •  path 는 대충 길이라는 뜻이라고 생각하면 된다. 여기로 가~~ 라는 느낌이다.

 

  •  urls.py 와 views.py 의 폴더가 다르니까 urls 의 경로에 써줘야 한다. from articles import view 로 알티클에서 뷰의 정보를 가져와. 라는 명령어를 넣어줘야 함. 그래야 아래 25번째 줄에 있는 path 경로를 따라서 가지고 올 수 있다.

 

 

from django.http import HttpResponse

def index(request):
	response = HttpResponse("<h1>Hello, Django!</h1>") 
	return response

 

  • 코드를 넣어서 실행을 해보자.
python manage.py runserver

 

 

  • 너의 패턴이 일치하지 않는다고 path 매칭 안된다고 말함. -이제 새로운 나의 page를 만들 수 있음. 

 

 

  • 너가 그냥 '/ ' 만 넣었기 때문에 찾을 수 없는거야. 맞아. 우리는 index로 가야하는데 그냥 /의 경로가 아님

  • 위의 그림처럼 http://127.0.0.1:8000/index/ 를 넣어주자 원하는 경로의 화면이 보이는 것을 알 수 있다.
  • 그런데 여기서 바로 html 을 코드로 써서 보여주게 되면 너무 길어지기 때문에 html의 파일을 따로 생성해주는 것이 효율 적이다!

 

 

 

 

 

4. html 파일을 작성해보자.

from django.shortcuts import render


def index(request):
	return render(request, "index.html")

 

  • view.py 에 코드를 이렇게 수정해보자. 그러면 index.html 파일을 만들어주면 된다.

 

  • articles 의 폴더 안에 templates 폴더를 만든 후 index.html 파일을 만들어 준다.
  • ' ! ' 를 하면 자동으로 html 의 기본 틀이 완료 된다.
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1> Hello, Django! </h1> # 이 부분만 추가한 부분 나머지는 기본 틀
</body>
</html>

 

 

 

 

 

 

 

5. users/ 라는 경로로 들어오면 users.html 을 렌더링 해서 보여주는 코드를 작성해보자.

 

  • urls.py 에 path 추가하기
path("users/", views.users),

 

  •  views.py 에 users 의 request 추가
def users(request):
	return render(request, "users.html")

 

  •  users.html 생성해서  ' ! ' 로 추가하기
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Users</title>
  </head>
  <body>
    <h1>Users Page</h1>
  </body>
</html>

 

 

 

 

 

 

반응형