Inhaltsverzeichnis
Ein praktisches Beispiel
Übersicht über das Admin-Panel:
Individuelle Eintragsseite:
Bearbeitung in Django Admin deaktivieren
1. Modelldefinition
2. Anpassen des Admin-Panels (admin.py)
Das Ergebnis
Vorteile eines schreibgeschützten Administratorpanels
Schlussfolgerung
Heim Backend-Entwicklung Python-Tutorial So deaktivieren Sie die Bearbeitung von Verwalten in Django Admin Panel

So deaktivieren Sie die Bearbeitung von Verwalten in Django Admin Panel

Jan 27, 2025 am 06:12 AM

Django Admin Panel: Ein schreibgeschützter Ansatz für die Datenverwaltung

Das Django Admin Panel bietet eine benutzerfreundliche Oberfläche zum Verwalten von Modellen, Daten und Benutzern. Die integrierten Such- und Filterfunktionen sind unglaublich praktisch. Manchmal ist es jedoch entscheidend, den Bearbeitungszugriff auf bestimmte Modelle oder Felder zu beschränken. Dies gilt insbesondere dann, wenn die Datenintegrität gewahrt bleiben muss, um versehentliche Änderungen zu verhindern, oder wenn das Panel ausschließlich der Datenanzeige dient.

Ein praktisches Beispiel

Kürzlich benötigte ein Kunde eine Lösung zum Anzeigen, Filtern und Paginieren von Daten, die von einer externen Website stammen – insbesondere zum Verfolgen neuer Immobilienangebote. Django lieferte eine elegante Lösung, die die Datenverwaltung ohne die Notwendigkeit einer benutzerdefinierten Seitenerstellung ermöglicht.

Unten finden Sie Screenshots, die die Implementierung veranschaulichen:

Übersicht über das Admin-Panel:

How to disable admin editing in Django Admin Panel

Diese Ansicht zeigt nur Import-/Exportoptionen; Das Hinzufügen oder Bearbeiten von Daten direkt im Admin-Bereich ist nicht möglich.

Individuelle Eintragsseite:

How to disable admin editing in Django Admin Panel

In ähnlicher Weise werden einzelne Eigenschaftenseiten im schreibgeschützten Modus angezeigt und verfügen nicht über Bearbeitungsfunktionen.

Lassen Sie uns untersuchen, wie diese schreibgeschützte Funktionalität in Django implementiert wurde.

Bearbeitung in Django Admin deaktivieren

1. Modelldefinition

Das Kernmodell, das zum Speichern von Scrape-Eigenschaftsdaten verwendet wird:

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
Nach dem Login kopieren

2. Anpassen des Admin-Panels (admin.py)

Um die Bearbeitung zu deaktivieren, überschreiben Sie die Methoden has_add_permission und has_change_permission in Ihrer admin.py-Datei:

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)
Nach dem Login kopieren

Eine Basisklasse (ReadOnlyAdmin) wird hier verwendet, um list_display für eine verbesserte Datenpräsentation zu verwalten.

Das Ergebnis

Dieser Ansatz erreicht:

  1. Entfernung der Schaltfläche „Hinzufügen“:Die Option zum Hinzufügen neuer Einträge wurde vollständig aus der Admin-Oberfläche entfernt.
  2. Schreibgeschützte Eintragsseiten: Wenn Sie auf einen vorhandenen Eintrag klicken, wird dieser in einer schreibgeschützten Ansicht ohne Schaltflächen zum Speichern geöffnet.

Dieses Setup ist ideal für Szenarien, in denen die Datenanzeige im Vordergrund steht und das Bearbeiten oder Hinzufügen von Einträgen unnötig oder möglicherweise problematisch ist.

Vorteile eines schreibgeschützten Administratorpanels

  • Datenintegrität: verhindert zufällige Änderungen an der extern aus Datenbeschaffung (z. B. durch Scraping oder APIs).
  • schreibgeschützte Ansichten für Referenzdaten: perfekt zum Anzeigen und Filtern von Daten in Anwendungen wie Analytics-Dashboards, Eigenschaftslisten oder Protokollen.

Schlussfolgerung

Deaktivieren der Bearbeitung im Django-Administrator ist unkompliziert und für die Sicherung von Daten und die Bereitstellung eines sicheren schreibgeschützten Zugriffs von großem Nutzen. Wenn Sie diese Schritte ausführen, können Sie schnell ein sicheres, schreibgeschütztes Administratorfeld erstellen.

Bleiben Sie in Verbindung - @Syedamahamfahim?

Das obige ist der detaillierte Inhalt vonSo deaktivieren Sie die Bearbeitung von Verwalten in Django Admin Panel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie Python, um die ZiPF -Verteilung einer Textdatei zu finden So verwenden Sie Python, um die ZiPF -Verteilung einer Textdatei zu finden Mar 05, 2025 am 09:58 AM

So verwenden Sie Python, um die ZiPF -Verteilung einer Textdatei zu finden

So herunterladen Sie Dateien in Python So herunterladen Sie Dateien in Python Mar 01, 2025 am 10:03 AM

So herunterladen Sie Dateien in Python

Bildfilterung in Python Bildfilterung in Python Mar 03, 2025 am 09:44 AM

Bildfilterung in Python

Wie benutze ich eine schöne Suppe, um HTML zu analysieren? Wie benutze ich eine schöne Suppe, um HTML zu analysieren? Mar 10, 2025 pm 06:54 PM

Wie benutze ich eine schöne Suppe, um HTML zu analysieren?

Wie man mit PDF -Dokumenten mit Python arbeitet Wie man mit PDF -Dokumenten mit Python arbeitet Mar 02, 2025 am 09:54 AM

Wie man mit PDF -Dokumenten mit Python arbeitet

Wie kann man mit Redis in Django -Anwendungen zwischenstrichen Wie kann man mit Redis in Django -Anwendungen zwischenstrichen Mar 02, 2025 am 10:10 AM

Wie kann man mit Redis in Django -Anwendungen zwischenstrichen

Einführung des natürlichen Sprach -Toolkits (NLTK) Einführung des natürlichen Sprach -Toolkits (NLTK) Mar 01, 2025 am 10:05 AM

Einführung des natürlichen Sprach -Toolkits (NLTK)

Wie führe ich ein tiefes Lernen mit Tensorflow oder Pytorch durch? Wie führe ich ein tiefes Lernen mit Tensorflow oder Pytorch durch? Mar 10, 2025 pm 06:52 PM

Wie führe ich ein tiefes Lernen mit Tensorflow oder Pytorch durch?

See all articles