icon picker
장고 Urls

첫 웹 페이지를 만들어 봅시다!

장고 URL은 어떻게 작동하나요?

코드 에디터에서 mysite/urls.py파일을 열면 아래 내용이 보일 거에요.
<mysite/urls.py>
"""mysite URL Configuration

[...]
"""
from django.contrib import admin
from django.urls import path

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

세 개의 따옴표들 사이에 있는 줄들은 독스트링입니다.
독스트링은 파일 제일 첫 부분, 클래스 또는 메서드 윗 부분에 작성해, 이들이 어떤 일을 수행하는지 알려줍니다. (주석 같은거에요!)
이전 장에서 봤던 관리자 URL도 이미 여기에 있어요!
<mysite/urls.py>
path('admin/', admin.site.urls),
장고는 admin/ 로 시작하는 모든 URL을 view와 대조해 찾아냅니다. 무수히 많은 URL이 admin URL 에 포함될 수 있어 일일이 모두 쓸 수 없답니다. 그래서 정규 표현식을 사용합니다!

나의 첫 번째 Django url!

첫 번째 URL을 만들어 봅시다!
’ 주소를 블로그 홈페이지로 지정하고 여기에 글 목록을 보여줄 거에요.
또한 mysite/urls.py파일을 깨끗한 상태로 유지하기 위해, blog 애플리케이션에서 메인 mysite/urls.py파일로 url들을 가져올 거에요.
먼저 blog.urls를 가져오는 행을 추가해 봅시다.
blog.urls를 가져오려면, include 함수가 필요합니다.
from django.urls 행을 찾아 import 뒤에 include 함수를 추가하세요.
이제 아래와 같을거에요!
<mysite/urls.py>
from django.contrib import admin
from django.urls import path, include

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

(지금 장고는 으로 들어오는 모든 접속 요청을 blog.urls로 전송해 추가 명령을 찾을거에요..)

blog.urls

blog/urls.py이라는 새 파일을 생성하세요!
blog라는 디렉토리 안에 파일을 추가하면 되요!
추가했으면 이제 아래 두 줄을 추가하세요!
<blog/urls.py>
from django.urls import path
from . import views

(여기서 장고 함수인 pathblog 애플리케이션에서 사용할 모든 views를 가져왔어요.
그 다음, 첫 번째 URL 패턴을 추가하세요.
아래 코드를 추가하면 되요!
<blog/urls.py>
urlpatterns = [
path('', views.post_list, name='post_list'),
]

이제 post_list라는 view가 루트 URL에 할당되었습니다.
이 URL 패턴은 빈 문자열에 매칭이 되며, 장고 URL 확인자는 전체 URL 경로에서 접두어에 포함되는 도메인 이름을 무시하고 받아들입니다.
이 패턴은 장고에게 누군가 웹사이트에 ‘ 주소로 들어왔을 때 views.post_list를 보여주라고 말해줍니다.
마지막 부분인 name='post_list'는 URL에 이름을 붙인 것으로 뷰를 식별합니다. 뷰의 이름과 같을 수도 완전히 다를 수도 있어요
접속했는데 '웹 페이지를 사용할 수 없음(web page not available)'이라는 메시지가 표시되었나요?
이는 서버가 실행되지 않았기 때문이에요.
에러가 발생한 이유를 찾으려면 서버 콘솔 창을 보세요.
image.png
: no attribute 'post_list' 라는 메시지가 보일거에요. 이 메시지는 장고가 찾고 사용하고자 하는 가 아직 없다는 거에요.
이 단계에서 /admin/도 접속되지 않을 거에요.
혹시 여러분이 다른 에러 메시지를 보게 된다면, 웹 서버를 껐다 다시 켜보세요. 커맨드라인(혹은 콘솔)으로 가서 Ctrl + C를 눌러 웹 서버를 중단하면 됩니다.
다시 python manage.py runserver 명령어를 실행해 서버를 다시 시작하세요.
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.