본문 바로가기

Django8

Django [관리자 페이지] action 장고 관리자의 주요 목적은 데이터를 생성하거나, 수정 삭제하는 것이다. 그러나 조건에 해당하는 여러 데이터들을 수정,삭제 등 관리 할 필요가 있을때 데이터 하나 하나마다 적용하는 것은 매우 번거로운 일이다. Ex) 장바구니에서 선택된 항목만 결제를 원할때 하나씩 결제를 하는 것은 번거롭다! 장고 관리자는 목록 페이지에서 선택된 개체의 목록에게 어떤 "작업"을 한꺼번에 요청 할 수 있고 이러한 "작업"을 구현하는 거은 action이 담당하게 된다. 이번 게시글에서는 user의 인증을 활성화 또는 비활성화 하는 "작업"을 추가 하고자 한다. action 추가 하기 기본적으로 action 함수에는 세가지의 전달인자가 필요하다. ModelAdmin - 현재의 modeladmin HttpRequest - 현재요청.. 2021. 2. 2.
Django [관리자 페이지] admin.SimpleListFilter admin.py에서 list_filter를 통해 관리자 페이지 한 켠에 특정 필드를 기준으로 필터링 할 수 있는 창을 띄웠다. 아래는 Post 모델의 관리자 페이지이며 왼쪽의 FILTER부분에 list_filter를 사용하지 않는 방법으로 세부사항을 구현하고자 한다. admin.SimpleListFilter를 사용해 필터 구현하기 admin.SimpleListFilter을 이용하여 filter의 요소를 추가 할 수 있다 title,parameter_name 변수와 lookups, queryset 메소드를 재정의 해야만 한다. title - 필터의 이름 parameter_name -필터에 사용될 컬럼의 이름(데이터베이스상에서 존재하는 이름이여야함) lookups - 필터 창에서 보이게되는 것을 구현한 메소.. 2021. 2. 1.
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.