Table des matières
un exemple pratique
Présentation du panneau d'administration:
Page d'entrée individuelle:
Édition de désactivation dans django admin
1. Définition du modèle
2. Personnalisation du panneau d'administration (admin.py)
le résultat
Avantages d'un panneau d'administration en lecture seule
Conclusion
Maison développement back-end Tutoriel Python Comment désactiver l'édition administrateur dans le panneau d'administration Django

Comment désactiver l'édition administrateur dans le panneau d'administration Django

Jan 27, 2025 am 06:12 AM

Panneau d'administration Django: une approche en lecture seule pour la gestion des données

Le panneau d'administration Django propose une interface conviviale pour gérer les modèles, les données et les utilisateurs. Ses capacités de recherche et de filtrage intégrées sont incroyablement pratiques. Cependant, il est parfois crucial de restreindre l'accès à l'édition à des modèles ou des champs spécifiques. Cela est particulièrement vrai lorsque l'intégrité des données doit être maintenue, empêchant des modifications accidentelles ou lorsque le panneau est uniquement pour la visualisation des données.

un exemple pratique

Récemment, un client a besoin d'une solution pour afficher, filtrer et paginer des données grattées à partir d'un site Web externe - en particulier, le suivi de nouvelles listes de propriétés. Django a fourni une solution élégante, permettant la gestion des données sans avoir besoin d'une création de page personnalisée.

Voici des captures d'écran illustrant l'implémentation:

Présentation du panneau d'administration:

How to disable admin editing in Django Admin Panel

Cette vue affiche uniquement les options d'importation / exportation; L'ajout ou l'édition de données directement dans le panneau d'administration est impossible.

Page d'entrée individuelle:

How to disable admin editing in Django Admin Panel

De même, les pages de propriétés individuelles sont affichées en mode en lecture seule, manquant de fonctionnalité d'édition.

Explorons comment cette fonctionnalité en lecture seule a été mise en œuvre dans Django.

Édition de désactivation dans django admin

1. Définition du modèle

Le modèle de base utilisé pour stocker les données de propriété grattées:

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
Copier après la connexion

2. Personnalisation du panneau d'administration (admin.py)

pour désactiver l'édition, remplacez les méthodes has_add_permission et has_change_permission dans votre fichier 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)
Copier après la connexion

Une classe de base (ReadOnlyAdmin) est utilisée ici pour gérer list_display pour une présentation améliorée des données.

le résultat

Cette approche réalise:

  1. La suppression du bouton "Ajouter": L'option pour ajouter de nouvelles entrées est complètement supprimée de l'interface d'administration.
  2. Pages d'entrée en lecture seule: Cliquez sur une entrée existante l'ouvre dans une vue en lecture seule, dépourvue de boutons de sauvegarde.

Cette configuration est idéale pour les scénarios où l'affichage des données est primordial, et l'édition ou l'ajout d'entrées est inutile ou potentiellement problématique.

Avantages d'un panneau d'administration en lecture seule

  • Intégrité des données : Empêche les modifications accidentelles des données provenant de sources externes (par exemple, via le scraping ou les API).
  • Vues en lecture seule pour les données de référence : Parfait pour afficher et filtrer les données dans des applications telles que des tableaux de bord d'analyse, des listes de propriétés ou des journaux.

Conclusion

La désactivation de l'édition dans l'administrateur Django est simple et très bénéfique pour sauvegarder les données et fournir un accès sécurisé en lecture seule. En suivant ces étapes, vous pouvez créer rapidement un panneau d'administration sécurisé en lecture seule.

Restez connecté - @syedamahamfahim ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser Python pour trouver la distribution ZIPF d'un fichier texte Comment utiliser Python pour trouver la distribution ZIPF d'un fichier texte Mar 05, 2025 am 09:58 AM

Comment utiliser Python pour trouver la distribution ZIPF d'un fichier texte

Comment télécharger des fichiers dans Python Comment télécharger des fichiers dans Python Mar 01, 2025 am 10:03 AM

Comment télécharger des fichiers dans Python

Filtrage d'image en python Filtrage d'image en python Mar 03, 2025 am 09:44 AM

Filtrage d'image en python

Comment utiliser la belle soupe pour analyser HTML? Comment utiliser la belle soupe pour analyser HTML? Mar 10, 2025 pm 06:54 PM

Comment utiliser la belle soupe pour analyser HTML?

Comment travailler avec des documents PDF à l'aide de Python Comment travailler avec des documents PDF à l'aide de Python Mar 02, 2025 am 09:54 AM

Comment travailler avec des documents PDF à l'aide de Python

Comment se cacher en utilisant Redis dans les applications Django Comment se cacher en utilisant Redis dans les applications Django Mar 02, 2025 am 10:10 AM

Comment se cacher en utilisant Redis dans les applications Django

Présentation de la boîte à outils en langage naturel (NLTK) Présentation de la boîte à outils en langage naturel (NLTK) Mar 01, 2025 am 10:05 AM

Présentation de la boîte à outils en langage naturel (NLTK)

Comment effectuer l'apprentissage en profondeur avec TensorFlow ou Pytorch? Comment effectuer l'apprentissage en profondeur avec TensorFlow ou Pytorch? Mar 10, 2025 pm 06:52 PM

Comment effectuer l'apprentissage en profondeur avec TensorFlow ou Pytorch?

See all articles