일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- JavaScript
- 개발
- 장고
- Node.js
- Exercism
- Algorithm
- Bookmark
- 장고 프로젝트 순서
- 예술영화추천
- 파이썬 웹프로그래밍 장고
- 장고 개발 순서
- join()
- til
- MYSQL
- Django Blog
- python
- 장고 프로젝트
- Django
- 자바스크립트
- 타사인증
- Blog
- 알고리즘
- 북마크만들기
- ART_Cinema
- 프로젝트
- mongodb
- MyPick31
- 독립영화플랫폼
- passport.js
- 북마크앱
Archives
- Today
- Total
Juni_Dev_log
북마크 앱 만들기 ④ "URLconf" with Django 본문
URLconf는 mysite/urls.py 와 bookmark/urls.py 2개의 파일에서 코딩할 수 있지만, 이 예제는 간단하기 때문에 하나의 파일로 코딩을 진행한다.
북마크 앱의 URL은 간단하다. Admin 사이트까지 포함해서 3개의 URL과 뷰가 필요하다.
그 내용은 urls.py 파일에 코딩하면 된다.
from django.contrib import admin
from django.urls import path
# 필요한 소스 모듈과 함수를 임포트한다.
from bookmark.views import BookmarkLV, BookmarkDV
# URLconf 에서 뷰를 호출하므로, 뷰 모듈의 관련 클래스를 임포트한다.
# path() ㅎ마수는 route,view 2개의 필수 인자와 kwargs.name 2개의 선택 인자를 받는다.
# 여기서 장한 name 인자값은 템플릿 파일에서 많이 사용된다.
urlpatterns = [
#장고의 Admin 사이트에 대한 URLconf 는 이미 정의되어있다. Admin 사이트를 사용하기 위해서 항상 이렇게 정의해야한다.
path('admin/', admin.site.urls),
#class-based views
path('bookmark/',BookmarkLV.as_view(),name='index'),
path('bookmark/<int:pk>/', BookmarkDV.as_view(),name='detail'),
]
클래스형 뷰가 간단한 경우는 views.py 파일에 코딩할 필요 없이, URLconf 에서 뷰 및 뷰 처리에 필요한 파라미터를 모두 지정할 수 있다.
이렇게 views.py 파일을 작성하지 않아도 된다는 장점이 있어서, 이 방법을 많이 사용하는 편이다.
하지만, 여기에서는 views.py 가 간단하더라도 views.py 에 파일을 코딩하는 것을 권장한다.
뷰 로직은 URLconf 가 아니라 views.py 파일에 작성하는 것이 향후 확장성이나 모듈의 임포트 관계를 단순하게 유지하는 장점이 있기 때문이다.
(참고 : views.py 를 작성하지 않고 urls.py 에 한 번에 작성할 수 있는 방법)
from django.contrib import admin
from django.urls import path
from bookmark.views.generic import BookmarkLV, BookmarkDV
from bookmark.models import Bookmark
urlpatterns = [
path('admin/', admin.site.urls),
# urls with view definition
path('bookmark/',ListView.as_view(model=Bookmark),name='index'),
path('bookmark/<int:pk>/', DetailView.as_view(model=Bookmark),name='detail'),
]
(이전 포스팅)
2020/08/18 - [Project/Bookmark APP 만들기 (Django)] - 북마크 앱 만들기 ③ "모델(Model)" with Django
(다음 포스팅)
2020/08/18 - [Project/Bookmark APP 만들기 (Django)] - 북마크 앱 만들기 ⑤ "뷰(View)" with Django
'Project > Bookmark APP 만들기 (Django)' 카테고리의 다른 글
북마크 앱 만들기 ⑥ "템플릿(Template)" with Django (0) | 2020.08.18 |
---|---|
북마크 앱 만들기 ⑤ "뷰(View)" with Django (0) | 2020.08.18 |
북마크 앱 만들기 ③ "모델(Model)" with Django (0) | 2020.08.18 |
북마크 앱 만들기 ② "뼈대" with Django (0) | 2020.08.18 |
북마크 앱 만들기 ① "애플리케이션 설계하기" with Django (0) | 2020.08.14 |
Comments