본문 바로가기
programing/[ python ] django

[ django ] 장고 views 화면 간단하게 연동하기

by 궈능비 2022. 8. 10.
728x90
반응형

이전 글이랑 연결됩니다

 

이전 글을 먼저 봐주세요

 

2022.08.10 - [python/django] - [ django ] 장고 프로젝트 간단하게 만들기

 

[ django ] 장고 프로젝트 간단하게 만들기

장고 프로젝트를 한번 만들어보겠습니다 ※ 장고 프로젝트를 만들 때 필요한 친구들입니다 ※ ※ 꼭 먼저 다운로드 받아주세요 ※ vscode python 3.7 이제 시작합니다 1. 빈 폴더 생성 일단 빈 폴

kwon-eb.tistory.com

 

이번에는 views.py에 있는 내용물을 화면에 띄워볼 겁니다.

 

django의 동작 순서를 설명하겠습니다.

 

1. 화면에서 url입력
2. projectSetting/urls.py에서 응답
    -> projectApp/urls.py로 연결
3. projectApp/urls.py에서 응답
    -> views.py로 연결
4. views.py에서 응답
    -> 화면으로 response 돌려줌

작업을 하기 위해 코드를 수정하겠습니다

 

1. projectApp/urls.py 생성

 

우선 projectApp에 urls.py를 만들어줍니다

 

 

urls.py에는 projectSetting/urls.py의 내용물을 복붙 해줍니다.

 

 

2. projectApp/urls.py, views.py 연결

 

그 후 주석에 쓰여있는 examples - function views를 참고해서 코드를 수정합니다.

 

추가된 라인은 18, 22 라인입니다.

변경된 라인은 21라인입니다.

 

18라인은 views.py 파일을 연결하는 역할을 합니다.

22라인은 views.py 안에 있는 함수에 url을 할당하는 역할을 해줍니다. 함수 이름은 home으로 설정합니다.

 

 

21번 라인은 필요 없으니 주석 처리했습니다.

삭제하셔도 무방합니다

 

3. views.py에 함수 생성

 

요청을 받았을 때 내가 설정한 데이터를 리턴해주는 곳입니다.

 

우선 {'code' : 200}을 리턴 시키는 로직을 작성해보겠습니다

 

#proejectApp/views.py

from django.shortcuts import render
from django.http import JsonResponse


def home(request):
    data = {
        "code" : 200
    }

    return JsonResponse(data)

 

4. projectSetting/urls.py, projectApp/urls.py 연결

 

projectSetting/urls.py를 수정해줍니다

 

 

추가한 라인은 18라인, 22라인입니다

 

22라인의 구문의 django/ 는 url입니다

 

화면에서 localhost:8000/django/ 를 입력하면 projectApp.urls로 연결됩니다

 

만약 django/가 아니라 a/로 바꾸면

 

화면에서 localhost:8000/a/를 입력하면 projectApp.urls로 연결됩니다

 

localhost:8000/django/ 를 입력하면 연결되지 않습니다

 

5. projectSetting/settings.py 설정

 

settings.py의 installed_apps에 내가 만든 app을 추가해줍니다

 

app은 projectApp/apps.py에서 복사합니다

 

여기서 5라인의 name을 복사해줍니다.

 

그리고 settings.py의 installed_apps에 내가 만든 app을 추가합니다.

 

 

수정 전 settings.py

 

수정 후 settings.py

 

 

이렇게 한 뒤 다시 서버를 기동 해봅니다.

 

python manage.py runserver localhost:8000

 

그러면 처음과는 달리 404 페이지가 뜰 겁니다.

 

 

projectSetting/urls에 있는 urls를 입력하지 않아서 발생한 문제입니다.

 

django/까지 붙여서 다시 검색해줍니다

 

views.py에 데이터 값이 화면에 표시되면 성공입니다.

 

vscode를 보면 통신 성공한 로그를 확인할 수 있습니다.

 

 

728x90
반응형

댓글