[Django] Django urls

1 분 소요

웹 프레임워크 Django(장고) 공부
개발 언어 : python 3.8.1
개발 환경 : Visual studio Code
참조 : 장고걸스 튜토리얼

직접 블로그를 만들기위해 Django 를 공부해보자.

장고 urls

mysite/urls.py 파일을 열어보면 아래와 같다.

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

urlpatterns = [
    path('admin/', admin.site.urls),
]

path의 의미는 장고는 admin/로 시작하는 모든 URLview 와 대조해 찾아낸다. 무수히 많은 URLadmin URL에 포함될 수 있어 일일이 모두 쓸 수 없기 때문에 정규표현식을 사용한다.

mysite/urls.py파일을 깨끗한 상태로 유지하기 위해 blog에플리케이션에서 메인 mysite/urls.py 파일로 url들을 가지고 올 것이다.

mysite/urls.py를 아래와 같이 수정해준다.

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('blog.urls')),
]

이제 로컬호스트(127.0.0.1:8000)로 들어오는 모든 접속 요청을 blog.urls로 전송해 추가 명령을 찾는다. 이를 위해 blog/urls.py를 아래와 같이 생성한다.

from django.urls import path
from .import views

urlpatterns = [
    path('', views.post_list, name='post_list'),
]

위의 과정을 작성한 후 로컬서버를 작동시켜보면 다음과 같은 오류가 나온다.

HTML 시작하기

위에서 템플릿이 존제하지 않는다는 에러가 났다. 템플릿이란 뭘까?

  • 템플릿이란?
    • 서로 다른 정보를 일정한 형태로 표시하기 위해 재사용 가능한 파일을 말한다. 이를 표현하기위해 장고는 템플릿 양식을 HTML을 사용한다.
blog
└───templates
 └───blog

우선 blog하위 폴더에 templates/blog 폴더를 만들자.
똑같은 blog 폴더를 하나 더 만드는 이유는 나중에 구조가 복잡해졌을 때 좀 더 쉽게 찾기 위해 사용하는 관습적인 방법이다.

blog/templates/blog폴더에 post_list.html파일을 하나 생성한다.
이제 로컬호스트를 실행하면 비어있는 페이지 하나가 작동한다.

댓글남기기