본문 바로가기

장고6

Django [관리자 페이지] admin site 목록,폼 변경 관리자 페이지에 모델을 등록하였는데 무언가 밋밋하다. 관리자의 입장에서 각 데이터들이 정렬되고 또 검색할 수 있고 다른 모델의 데이터를 현재 모델에서 볼수 있도록 한다면 더욱 좋을 것이다. 그래서 관리자의 입맛에 맞춰서 해당 모델을 특정 목록을 가진 페이지로 만들어 보고자 한다. 관리자 페이지에 포함되는 것 뿐만 아니라 폼 자체를 을 변경 하는 것이다. ModelAdmin객체 관리 인터페이스에서 모델의 표현으로 기본 관리 인터페이스가 맘에 들지 않을때 ModelAdmin객체를 생성하여 이 객체를 대신 하여 등록 시킬 수 있다. ModelAdmin이 제공하는 많은 옵션들이 있지만 추후에 다루도록 하고 오늘은 주로 목록 변경에 초점을 맞추려고한다. 모델의 목록변경 list_per_page 한페이지 내에 표시.. 2021. 1. 30.
Django 어플리케이션 확장하기 이번 포스팅에서는 목록에 있는 게시물을 선택했을때 게시물의 상세 페이지가 보여지는 것을 구현 해보도록한다. 먼저 게시된 글마다 새로운 링크를 부여하는 것은 효율적이지 못하다. 하지만 게시물마다 가지고 있는 번호를 이용해 URL이 인식하도록 한다면 게시물의 제목이나 글만 바뀐 상태로 같은 페이지를 사용할 수 있을것이다. 게시물 상세페이지 URL생성하기 게시물 상세 페이지에 접속하여면 그 상세페이지를 띄울 URL이 필요하다 urls.py에 들어가 다음과 같이 코드를 추가해준다. 각 게시물의 상세페이지에 접근 할때 views.py의 post_detail 이라는 함수를 부르게된다. URL은 http://127.0.0.1:8000/post/1 과 같이post/숫자 형태를 가진다. # blog/urls.py fro.. 2021. 1. 20.
Django 템플릿 확장하기 장고는 템플릿 확장기능을 가지고 있다. post_list.html의 양식을 내용만 바꿔서 사용하고자 할때 유용하게 쓰일 수 있다. 먼저 base.html을 만들고 post_list.html 의 내용을 복사하여 붙여넣기 한후 for 구문을 삭제 한 후 아래코드를 를 추가한다 {% block content %} {% endblock %} {% load static %} nyanguk의 블로그 {% block content %} {% endblock %} 블록을 생성하여 base.html 안에서는 블록을 끼울자리를, 여러 다른 html파일 에서는 블록에 각 파일마다 다른 내용을 넣어주면 base.html에 내용만 바뀌어서 출력되게 된다. 자 그럼 post_list.html파일을 바꿔보자 가장먼저 base.ht.. 2021. 1. 20.
Django 템플릿 이전 게시물에서 데이터 베이스의 값들을 템플릿으로 보내는 과정을 진행했고 이제는 그 값들을 이용하여 템플릿에 보여줄 차례이다. 템플릿 태그 파이썬을 사용하는 장고는 html상에서 파이썬을 사용 할 수 있도록하는 템플릿태그를 사용한다. 즉, 파이썬을 html 로 바꿔주는 역할이다. 쿼리셋을 템플릿에서 보여주기 이전 게시물에서 posts라는 쿼리셋을 render함수를 통해 post_list.html로 보내주었다. 이를 템플릿인 post_list.html에서 보여주기 위해서는 어떤 과정이 필요 할까? 변수 값 출력 가장 먼저 전달받은 쿼리셋을 출력하려면 템플릿 안에서 변수를 출력하는 표현을 알아야한다. {{변수이름}} 변수이름을 중괄호로 2번 감싸 출력 시킬 수 있다. 전달받은 변수이름이 posts이므로 {{.. 2021. 1. 19.