JavaScript required
We’re sorry, but Coda doesn’t work properly without JavaScript enabled.
Skip to content
Gallery
Django 메뉴얼
Django 메뉴얼
django 구조 + MVC, MVP, MVVM
학생 이메일 생성 방법
JetBrains 학생 라이센스
JetBrains의 Pycharm 설치
Anaconda 설치
Pycharm에서 프로젝트 생성하기
장고 프로젝트 시작!
장고 모델
Django 관리자
장고 Urls
장고 뷰 만들기
HTML 시작하기
장고 QRM (Querysets)
템플릿 동적 데이터
장고 템플릿
CSS - 예쁘게 만들기
템플릿 확장하기
애플리케이션 확장하기
장고 폼
블로그 개선하기
이미지 업로드
동영상 URL 업로드
안전한 웹사이트 만들기
댓글 모델 만들기
깃허브 업로드
파이썬애니웨어(PythonAnywhere)에 배포하기
도메인 만들기
메뉴얼 작성전 읽기
More
Share
Explore
장고 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을 만들어 봅시다!
‘
http://127.0.0.1:8000/
’ 주소를 블로그 홈페이지로 지정하고 여기에 글 목록을 보여줄 거에요.
또한
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')),
]
(지금 장고는
http://127.0.0.1:8000/%EC%9C%BC%EB%A1%9C
http://127.0.0.1:8000/
으로 들어오는 모든 접속 요청을
blog.urls
로 전송해 추가 명령을 찾을거에요..)
blog.urls
blog/urls.py
이라는 새 파일을 생성하세요!
blog라는 디렉토리 안에
urls.py
파일을 추가하면 되요!
추가했으면 이제 아래 두 줄을 추가하세요!
<blog/urls.py>
from django.urls import path
from . import views
(여기서 장고 함수인
path
와
blog
애플리케이션에서 사용할 모든
views
를 가져왔어요.
그 다음, 첫 번째 URL 패턴을 추가하세요.
아래 코드를 추가하면 되요!
<blog/urls.py>
urlpatterns = [
path('', views.post_list, name='post_list'),
]
이제
post_list
라는
view
가 루트 URL에 할당되었습니다.
이 URL 패턴은 빈 문자열에 매칭이 되며, 장고 URL 확인자는 전체 URL 경로에서 접두어에 포함되는 도메인 이름을 무시하고 받아들입니다.
이 패턴은 장고에게 누군가 웹사이트에 ‘
http://127.0.0.1:8000/’
주소로 들어왔을 때
views.post_list
를 보여주라고 말해줍니다.
마지막 부분인
name='post_list'
는 URL에 이름을 붙인 것으로 뷰를 식별합니다. 뷰의 이름과 같을 수도 완전히 다를 수도 있어요
http://127.0.0.1:8000/
접속했는데 '웹 페이지를 사용할 수 없음(web page not available)'이라는 메시지가 표시되었나요?
이는 서버가 실행되지 않았기 때문이에요.
에러가 발생한 이유를 찾으려면 서버 콘솔 창을 보세요.
:
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 (
Ctrl
P
) instead.