Django 관리자 패널에서 관리자 편집을 비활성화하는 방법
Jan 27, 2025 am 06:12 AMDjango 관리자 패널: 데이터 관리를 위한 읽기 전용 접근 방식
Django 관리자 패널은 모델, 데이터 및 사용자를 관리하기 위한 사용자 친화적인 인터페이스를 제공합니다. 내장된 검색 및 필터링 기능은 매우 편리합니다. 그러나 때로는 특정 모델이나 필드에 대한 편집 액세스를 제한하는 것이 중요합니다. 실수로 인한 수정을 방지하기 위해 데이터 무결성을 유지해야 하거나 패널이 데이터 보기 전용인 경우 특히 그렇습니다.
실제예
최근 한 고객이 외부 웹사이트에서 스크랩한 데이터 보기, 필터링, 페이지 매기기, 특히 새 부동산 목록 추적을 위한 솔루션이 필요했습니다. Django는 맞춤 페이지를 생성할 필요 없이 데이터를 관리할 수 있는 우아한 솔루션을 제공했습니다.
아래는 구현을 보여주는 스크린샷입니다.
관리자 패널 개요:
이 보기에는 가져오기/내보내기 옵션만 표시됩니다. 관리자 패널 내에서 직접 데이터를 추가하거나 편집하는 것은 불가능합니다.
개인 응모 페이지:
마찬가지로 개별 속성 페이지는 편집 기능이 없는 읽기 전용 모드로 표시됩니다.
이 읽기 전용 기능이 Django에서 어떻게 구현되었는지 살펴보겠습니다.
Django Admin에서 편집 비활성화
1. 모델 정의
스크랩된 자산 데이터를 저장하는 데 사용되는 핵심 모델:
from django.db import models class Property(models.Model): name = models.CharField(max_length=255) price = models.IntegerField() location = models.CharField(max_length=255) date_listed = models.DateField() def __str__(self): return self.name
2. 관리자 패널 사용자 정의(admin.py
)
편집을 비활성화하려면 has_add_permission
파일 내에서 has_change_permission
및 admin.py
메소드를 재정의하세요.
from django.contrib import admin from .models import Property class ReadOnlyAdmin(admin.ModelAdmin): list_display = ('name', 'price', 'location', 'date_listed') def has_add_permission(self, request): return False def has_change_permission(self, request, obj=None): return False admin.site.register(Property, ReadOnlyAdmin)
여기에서는 향상된 데이터 표시를 위해 ReadOnlyAdmin
를 관리하기 위해 기본 클래스(list_display
)가 사용됩니다.
결과
이 접근 방식을 통해 얻을 수 있는 이점은 다음과 같습니다.
- "추가" 버튼 제거: 새 항목을 추가하는 옵션이 관리 인터페이스에서 완전히 제거되었습니다.
- 읽기 전용 항목 페이지: 기존 항목을 클릭하면 해당 항목이 저장 버튼 없이 읽기 전용 보기로 열립니다.
이 설정은 데이터 표시가 가장 중요하고 항목 편집 또는 추가가 불필요하거나 문제가 발생할 수 있는 시나리오에 이상적입니다.
데이터 무결성 :
- 외부 적으로 소스 된 데이터에 대한 우발적 인 수정을 방지합니다 (예 : 스크래핑 또는 API를 통해).
참조 데이터에 대한 읽기 전용보기 :
- 분석 대시 보드, 속성 목록 또는 로그와 같은 응용 프로그램에서 데이터를보고 필터링하기에 적합합니다.
결론
Django 관리자의 편집 비활성화는 데이터를 보호하고 안전한 읽기 전용 액세스를 제공하는 데 간단하고 유익합니다. 이 단계를 수행하면 안전하고 읽기 전용 관리자 패널을 신속하게 만들 수 있습니다. - 연결 상태 - @syedamahamfahim?
위 내용은 Django 관리자 패널에서 관리자 편집을 비활성화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Tensorflow 또는 Pytorch로 딥 러닝을 수행하는 방법은 무엇입니까?
