Le cookie de connexion n’est pas défini correctement car le domaine du cookie envoyé par Django ne correspond pas au domaine du navigateur. Essayez de définir le réglage SESSION_COOKIE_DOMAIN
de sorte que le domaine corresponde à votre domaine. Par exemple, si vous utilisez l’adresse « https://www.example.com/admin/ » dans votre navigateur, définissez SESSION_COOKIE_DOMAIN = 'www.example.com'
.
Si vous êtes certain que votre nom d’utilisateur et votre mot de passe sont corrects, assurez-vous
que les attributs is_active
et is_staff
de votre compte sont définis à True. Le site d’administration permet uniquement l’accès aux utilisateurs qui ont ces deux champs définis à True.
La classe ModelAdmin
offre des points d’extension vous permettant de transformer un objet lorsqu’il est enregistré, à partir des informations de la requête. En récupérant l’utilisateur actuel de la requête et en étendant la méthode save_model()
, vous pouvez mettre à jour un objet pour qu’il contienne l’utilisateur qui l’a modifié. Voir la documentation de ModelAdmin pour un exemple.
La classe ModelAdmin
offre aussi des points d’extension permettant de contrôler la visibilité et la capacité d’édition des objets de l’interface d’administration. En utilisant la même astuce que pour l’extraction de l’utilisateur depuis une requête, get_queryset()
et has_change_permission()
peuvent être utilisés pour contrôler la visibilité et la capacité d’édition des objets dans l’interface d’administration.
Consultez service des fichiers de l’administration dans la documentation « Comment utiliser Django avec mod_wsgi ».
Django ne se fatigue pas à afficher le résultat d’un filtre ManyToManyField
s’il ne contient pas plus d’un élément lié.
Par exemple, si votre list_filter
inclut sites et qu’il n’y a qu’un seul site dans votre base de données, il n’affichera par le filtre « Site ». Dans ce cas, le filtrage par site est inutile.
L’incohérence du nombre de lignes peut être causée par l’absence de valeurs de clé étrangère ou par un champ de clé étrangère incorrectement défini avec null=False
. Si vous avez un enregistrement avec une ForeignKey
pointant sur un objet inexistant et que cette clé étrangère est incluse dans list_display
, l’enregistrement ne sera pas affiché dans la liste des objets de l’administration parce que le modèle Django déclare une contrainte d’intégrité non implémentée au niveau de la base de données.
Vous avez plusieurs options. Si vous souhaitez vous greffer au-dessus d’un formulaire d’ajout/édition généré automatiquement par Django, vous pouvez attacher n’importe quel module JavaScript à la page via le paramètre js de la classe Admin du modèle. Ce paramètre est une liste d’URL, de type chaîne de caractères, pointant sur les modules JavaScript qui seront inclus dans le formulaire d’administration via une balise <script>
.
Si vous souhaitez plus de flexibilité qu’un simple ajustement des formulaires auto-générés, vous êtes libre d’écrire des vues personnalisées pour l’administration. L’interface d’administration est elle-même basée sur Django et vous pouvez écrire des vues personnalisées qui se branchent sur le système d’authentification, vérifient les permissions et font tout ce qu’elles ont besoin de faire.
Si vous souhaitez modifier l’aspect de l’interface d’administration, lisez la question suivante.
De notre côté, nous l’apprécions, mais si ce n’est pas votre cas, vous pouvez modifier la présentation du site d’administration en éditant la feuille de style CSS ou les images associées. Le site est construit en utilisant du HTML sémantique et beaucoup de points d’ancrage CSS de sorte que tout changement que vous souhaitez apporter devrait être possible en modifiant la feuille de style.
Le site d’administration offre une expérience fonctionnelle complète pour les navigateurs de niveau A de YUI, à l’exception notable de IE6 qui n’est plus pris en charge.
Des différences stylistiques mineures peuvent surgir entre les navigateurs pris en charge — par exemple, certains navigateurs ne gèrent pas les coins arrondis. Celles-ci sont considérées comme des variations acceptables en terme de rendu.
avr. 04, 2017