Study/Python

[Django/Python] (진행중) 점프 투 장고 2-1. 주소와 화면을 연결하는 URL과 뷰

growingtree 2021. 3. 22. 22:03

이 포스팅은 <파이썬 웹 개발부터 배포까지! 점프 투 장고>로 공부한 내용을 정리한 것입니다.

 

이전 내용

 

1. Python과 Django 설치 ✔️

2. Pycharm 설치 ✔️

3. cmd로 프로젝트 디렉토리 생성 (mkdir) ✔️

4. 가상환경 만들기 ✔️

5. 환경변수(PATH) 설정 ✔️

6. 개발서버 구동해보기 ✔️

 

 

1. 앱  생성하고 확인해보기

 

프로젝트에는 장고가 제공하는 기본 앱과 개발자가 만든 앱 등이 포함될 수 있다.

(앱보다 프로젝트가 더 큰 범위)

장고에서 말하는 '앱' 은 우리가 아는 안드로이드/ios 앱과는 다르다.

우리가 만들 파이보 서비스에 필요한 앱을 만들어보자.

 

명령 프롬프트(or Pycharm 의 터미널) 에서 진행

django-admin startapp pybo

위 명령어를 치면 

pybo라는 이름의 디렉토리가 생성됨을 확인할 수 있다.

__init__.py, admin.py 같은 하위 파일은 모두 pybo 앱을 위해 필요한 것들이다.

 

 

개발 서버를 구동한 다음 localhost:8000/pybo 에 접속해보자

python manage.py runserver

 

localhost:8000/pybo에 접속해보면 'Page not found' 라는 오류 페이지를 확인할 수 있다. 

요청한 페이지(localhost:8000/pybo)를 찾을 수 없을 때 발생하는 오류이다.

 

위 오류가 발생한 이유를 알아보자.

사용자가 웹 브라우저에서 '/pybo' 라는 페이지를 요청했을 때 장고는 해당 페이지를 가져오는 url 매핑이 있는지 

config/urls.py 파일에서 찾아본다. 저 파일에 url 매핑이 되어있는 페이지면 가져올 수 있고, 그렇지 않으면 가져올 수 없다. 

근데 우리가 아직 config/urls.py에 '/pybo'를 매핑하지 않았기 때문에 장고는 페이지를 찾을 수 없는 것이다.

 

config/urls.py 파일 수정

config라는 디렉토리에 있는 urls.py 파일을 연다.

 

from django.contrib import admin
from django.urls import path , include
from pybo import views # 이 줄 추가


urlpatterns = [
    path('admin/', admin.site.urls),
    path('pybo/',views.index), # 이 줄 추가
] 

 

반응형