JavaScript required
We’re sorry, but Coda doesn’t work properly without JavaScript enabled.
Skip to content
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 ··· in the right corner or using a keyboard shortcut (
Ctrl
P
) instead.