티스토리 뷰

파이썬/Django

django bookmark 만들기(3) urlconf

삼전동해커 2020. 11. 2. 23:01

urlconf는 홈페이지에서 접속할 때의 url을 분석해 매칭한다.

urlconf는 뷰와 매핑한다.

urls.py가 mysite/urls.py와 bookmark/urls.py 2개가 있다. 원래는 둘다 해야한다.

일단은 mysite/urls.py에 먼저 하자.



위와 같이 작성한다.

urlpatterns에서 'admin','bookmark'같은 부분은 입력한 URL부분이고

admin.site.urls, BookmarkLV.as_view()부분은 처리함수 부분이다.

<int:pk>는 url에서 bookmark/9와 같이 int형태의 9를 입력받아 pk=9로 BookmarkDB 뷰 클래스에 인자를 전달한다.


ListView로 여러개의 레코드를 가져오는 클래스를 만들고,

DetailView로 한 개의 레코드를 가져오는 클래스를 만든다.


urls.py는 뷰를 호출하므로 뷰 모둘의 클래스인 ListView와 DetailView를 참조했다.


이 내용을 views.py에 구현한다.




다음은 템플렛을 구현한다. 템플렛은 UI화면을 구현하는 부분이다.



object_list 객체는 BookmarkLV 뷰에서 넘겨주는 컨텍스트 변수이다.

컨텍스트 변수는 그냥 파이썬에서 for문 사용할 때 i정도로 생각하면 될 것 같다.

URL 형태를 만들어주는 {% url 'detail' 로 name=detail인 url로 연결해준다. bookmark.id는 전달할 파라미터이다.


{{ bookmark }}변수는 특정 레코드 하나를  의미한다.즉 Bookmark 객체를 의미하며, 객체를 출력하면 해당 객체의 __str__()메소드를 호출해 그 결과를 출력한다. __str__()메소드가 self.title을 리턴하니 title이 문자열 형태로 출력되겠다.


bookmark_detail.html을 작성하자.

리스트에서 클릭하면 해당 페이지의 URL을 누를수 있는 페이지로 이동한다.



object객체는 BookmarkDV클래스에서 컨텍스트 변수로 넘겨주는 Bookmark클래스의 특정 객체이다.


여기까지 모든 구현이 끝났다.

실행 해보자.


서버의 주소로 접속하거나 본인 컴퓨터인 경우는 127.0.0.1:8000/admin으로 접속하면 되겠다.



이렇게 뜨면 /admin을 추가해주자.


로그인 화면에서 아까 슈퍼유저 만들때 만들었던 아이디를 넣어주고



이렇게 북마크가 추가된게 보인다.

대문자 BOOKMARK는 우리가만든 bookmark 앱이다. 대문자로 표시된것.



add bookmark로 추가해 보자.


naver추가하고 /bookmark로 들어가면




북마크가 추가됐다!!


끝!

'파이썬 > Django' 카테고리의 다른 글

django bookmark 앱 만들기(2) 테이블  (0) 2020.11.02
django bookmark 앱 만들기(1) settings.py  (0) 2020.11.02
Django 템플릿(Template)  (0) 2020.09.30
Django 뷰(view)  (0) 2020.09.30
Django App  (0) 2020.09.30
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함