


Comment désactiver l'édition administrateur dans le panneau d'administration Django
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:
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:
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
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)
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:
- La suppression du bouton "Ajouter": L'option pour ajouter de nouvelles entrées est complètement supprimée de l'interface d'administration.
- 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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

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

Comment télécharger des fichiers dans Python

Comment utiliser la belle soupe pour analyser HTML?

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

Comment se cacher en utilisant Redis dans les applications Django

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

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