Python Django 백 스테이지 관리 후 데스크 톱 모델 속성 상세 설명
이전 프로젝트 에서 코드 인 코딩 을 계속 하려 면 먼저
createsuperuser
명령 을 통 해 만 든 관리자 계 정 을 기억 해 야 합 니 다.잊 어 버 리 면 다시 만들어 야 합 니 다.이 블 로그 와 관련 된 코드 는 모두
admin.py
파일 에 있 습 니 다.이 글 을 처음 열 면 본 논문 의 끝 에 나 온 디 렉 터 리 대강 을 살 펴 보고 다시 공부 할 수 있 습 니 다.학습 에 편리 하도록 미리
models.py
에 클래스 를 추가 합 니 다.코드 는 다음 과 같 습 니 다.
from django.db import models
class MyCenter(models.Model):
pass
18.1 admin 에 모델 등록Django 가
models.py
파일 의 클래스 를 관리 할 수 있 도록 모델 을 먼저 등록 해 야 합 니 다.앞에서 언급 한
MyCenter
모델 을 등록 합 니 다.이때admin.py
파일 의 코드 는 다음 과 같 습 니 다.
from django.contrib import admin
from .models import MyCenter
class MyCenterAdmin(admin.ModelAdmin):
pass
admin.site.register(MyCenter, MyCenterAdmin)
등록 에 성공 한 결 과 는 백 스테이지 페이지 에서 모델 에 대한 조작 입 구 를 볼 수 있 습 니 다.기타 등록 방식
상기
MyCenterAdmin
는 어떠한 기능 도 실현 하지 못 했 기 때문에 생략 할 수 있다.수정 코드 는 다음 과 같 습 니 다:
from django.contrib import admin
from .models import MyCenter
admin.site.register(MyCenter)
장식 기 를 사용 해 같은 효 과 를 낼 수 있다.
from django.contrib import admin
from .models import MyCenter
@admin.register(MyCenter)
class MyCenterAdmin(admin.ModelAdmin):
pass
18.2 Model.admin 클래스 가 제공 하 는 속성위의 글 에서 보 았 습 니 다.
admin.py
파일 의 기본 계승Model.Admin
은 이 를 계승 한 이상 다음 에 파악 해 야 할 것 은 바로 이 가 우리 에 게 제공 하 는 속성 내용 입 니 다.작업 이 시작 되 기 전에 우 리 는 먼저
admin.py
파일 의 코드 를 수정 하여 주로 페이지 전시 에 편리 하도록 한다.models.py
from django.db import models
from django.contrib.auth.models import User
class Customer(models.Model):
#
_id = models.AutoField(primary_key=True)
name = models.CharField(max_length=20, verbose_name=" ")
mobile = models.IntegerField(default=0, verbose_name=" ")
class Score(models.Model):
#
_id = models.AutoField(primary_key=True)
customer = models.ForeignKey(Customer, on_delete=models.CASCADE)
score = models.IntegerField(default=0, verbose_name=" ")
admin.py
from django.contrib import admin
from .models import Customer
@admin.register(Customer)
class CustomerAdmin(admin.ModelAdmin):
pass
상술 한 내용 을 완전 하 게 보충 한 후에 백 스테이지 에서 데 이 터 를 유지 할 수 있다.다음은 첫 번 째 속성 을 배 워 야 합 니 다:
date_hierarchy
.18.2.1 date_hierarchy
이 속성 은 시간 열 을 필터 가능 한 필드 로 변환 하 는 데 사 용 됩 니 다.이 작업 을 완성 하려 면
models.py
에 좋 은models.DateField
형식의 필드 를 추가 해 야 합 니 다.
create_time = models.DateField(default=timezone.now)
모델 이 바 뀌 었 을 때 다음 명령 으로 동기 화 를 해 야 합 니 다.
python manage.py makemigrations scoring
python manage.py migrate
모델 변화 이전 후admin.py
에서 배치 할 수 있 습 니 다.
from django.contrib import admin
from .models import Customer
@admin.register(Customer)
class CustomerAdmin(admin.ModelAdmin):
date_hierarchy = "create_time"
이 때 애플 리 케 이 션 을 실행 하면 customer 페이지 에서 최종 결 과 를 볼 수 있 습 니 다.18.2.2 actions_on_top/actions_on_bottom
동작 바 의 표시 위 치 를 제어 합 니 다.동작 은 바로 조작 입 니 다.
수정
admin.py
파일 코드 는 다음 과 같 습 니 다.동작 바 의 전시 위 치 를 제어 할 수 있 습 니 다.
@admin.register(Customer)
class CustomerAdmin(admin.ModelAdmin):
date_hierarchy = "create_time"
# actions_on_top = False
actions_on_bottom = True
18.2.3 actions_selection_counter동작 막대 뒤의 계수 가 보 여 질 지 여부 입 니 다.False 로 설정 하면 뒤의 숫자 가 사라 집 니 다.
18.2.4 list_display
이 속성 은 모델 에 표 시 된 필드 를 제어 할 수 있 습 니 다.코드 는 다음 과 같은 내용 으로 변경 되 었 습 니 다.
@admin.register(Customer)
class CustomerAdmin(admin.ModelAdmin):
date_hierarchy = "create_time"
actions_on_top = False
actions_on_bottom = True
list_display = ["_id", "name", "mobile", "create_time"]
최종 적 으로 나타 난 데 이 터 는 다음 과 같다.list_display
필드 에 함 수 를 삽입 할 수 있 습 니 다.
def warp_name(obj):
return f" :{obj.name}"
@admin.register(Customer)
class CustomerAdmin(admin.ModelAdmin):
date_hierarchy = "create_time"
actions_on_top = False
actions_on_bottom = True
# warp_name ,
list_display = ["_id", warp_name, "mobile", "create_time"]
warp_name.short_description = " "
상기 코드 의warp_name
함 수 를CustomerAdmin
내부 에 배치 할 수도 있다.
@admin.register(Customer)
class CustomerAdmin(admin.ModelAdmin):
date_hierarchy = "create_time"
actions_on_top = False
actions_on_bottom = True
def warp_name(self, obj):
return f" :{obj.name}"
list_display = ["_id", 'warp_name', "mobile", "create_time"]
warp_name.short_description = " "
이때 가장 큰 차이 점 은list_display
목록 에서 사용자 정의 함수 가 문자열 형식 이라는 것 이다.기본 적 인 상황 에서
list_display
의 첫 번 째 항목 은 하이퍼링크 입 니 다.클릭 하면 페이지 를 편집 할 수 있 고 list 를 통 해display_링크 를 설정 합 니 다.list_display_links
:None 에 링크 를 표시 하지 않 음 을 표시 합 니 다.
:하이퍼링크 가 필요 한 것 을 표시 합 니 다.빈 데 이 터 를 보 여 주 는 방식 입 니 다.기본 빈 데 이 터 는
--
입 니 다.이 속성 을 사용 하면 사용자 정의 설정 을 할 수 있 습 니 다.파일 을 수정 하고 비고 열 을 추가 합 니 다.
class Customer(models.Model):
#
_id = models.AutoField(primary_key=True)
name = models.CharField(max_length=20, verbose_name=" ")
mobile = models.IntegerField(default=0, verbose_name=" ")
create_time = models.DateField(default=timezone.now)
mark = models.CharField(max_length=50, null=True, blank=True)
이전 명령 을 다시 실행 한 후 응용 프로그램 을 실행 하면 다음 과 같은 효 과 를 얻 을 수 있 습 니 다.다음은 이 필드 를 사용 하여 데 이 터 를 보 여 주 며
models.py
파일 에 설정 합 니 다.
empty_value_display = '/'
실행 후 얻 은 결 과 는 다음 과 같다.18.2.6 fields
표 시 된 폼 필드 와 순서 조합 을 제어 합 니 다.예 를 들 어 다음 코드 를 추가 한 후에 결 과 를 확인 하면 다음 과 같다.
list_display = ["_id", 'warp_name', "mobile", "create_time","mark"]
fields = ["mobile","name"]
18.2.7 기타 보충 할 속성
filter_horizontal 과 filtervertical
메뉴 의 가로줄 전시 와 세로 줄 전 시 를 선별 합 니 다.
list_editable
필드 편집 가능.
list_filter
필터 속성 설정.
list_per_page
각 페이지 에 표 시 된 데이터 항목 수.
ordering
정렬 필드 목록.
paginator
페이지 별 대상 은 조기 도입
admin.py
이 필요 하 다.radio_fields
필드 는 폼 에서 선택 단추 입 니 다.
readonly_fields
필드 편집 불가.
search_fileds
목록 페이지 에 추 가 된 필터 필드 입 니 다.
파 이 썬 Django 백 스테이지 관리 후 데스크 톱 모델 속성 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 파 이 썬 Django 백 스테이지 관리 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.