본문 바로가기

전체 글34

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 유효성 검사 vaildation 유효성 검사 입력 폼을 통해 데이터가 들어왔을때 알맞은 자료형인지, 글자수 등등 유효성을 검사한다 이후 form.cleaned_data에 저장되고 그 다음 파이썬으로 알맞게 변환이 되는 것이다. 즉, 제출 버튼을 눌렀을때 데이터 베이스에 저장이 되는 것이아니라 한번 form에서 저장되기 때문에 기본적인 유효성 검사가 아닌 데이터가 써지기 전에 특별한 유효성 검사가 필요할때 사용될 수 있다. forms.py 생성하기 유효성 검사를 하기위해서는 forms.py를 생성해야한다. 왜냐하면 입력 폼에서 데이터 들어오고 그것을 조작하거나 앞서 이야기 한것 처럼 커스텀하는 것은 forms.py에서 행해지기 때문이다. 디폴트를 사용하고자 한다면 forms.py없이 사용하면된다. 위치는 post 디렉.. 2021. 1. 31.
Django [관리자 페이지] admin site 목록,폼 변경 관리자 페이지에 모델을 등록하였는데 무언가 밋밋하다. 관리자의 입장에서 각 데이터들이 정렬되고 또 검색할 수 있고 다른 모델의 데이터를 현재 모델에서 볼수 있도록 한다면 더욱 좋을 것이다. 그래서 관리자의 입맛에 맞춰서 해당 모델을 특정 목록을 가진 페이지로 만들어 보고자 한다. 관리자 페이지에 포함되는 것 뿐만 아니라 폼 자체를 을 변경 하는 것이다. ModelAdmin객체 관리 인터페이스에서 모델의 표현으로 기본 관리 인터페이스가 맘에 들지 않을때 ModelAdmin객체를 생성하여 이 객체를 대신 하여 등록 시킬 수 있다. ModelAdmin이 제공하는 많은 옵션들이 있지만 추후에 다루도록 하고 오늘은 주로 목록 변경에 초점을 맞추려고한다. 모델의 목록변경 list_per_page 한페이지 내에 표시.. 2021. 1. 30.