2010-06-07 4 views
0

Je tente de remplacer/d'étendre l'en-tête de l'administrateur Django dans la version 1.2.1. Cependant quand j'essaye d'étendre le modèle d'admin et change simplement ce dont j'ai besoin documenté ici: http://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-vs-replacing-an-admin-template), je me heurte à un problème de récurrence.Impossible d'étendre le modèle d'administration Django 1.2.1

J'ai un fichier index.html dans templates/admin/de mon projet qui commence par

{% extends "admin/index.html" %} 

Mais il semble que ce fait référence le fichier d'index local (alias lui-même) plutôt que la valeur par défaut Django copie . Je veux étendre le modèle Django par défaut et simplement changer quelques blocs. Lorsque j'essaie ce fichier, j'obtiens une erreur de profondeur de récursivité.

Comment puis-je étendre des parties de l'admin? Merci. SOLUTION: Plutôt que d'étendre, j'ai copié les fichiers dans my_templates_directory/admin/et les ai modifiés comme je le souhaitais. Cette solution était acceptable, mais pas idéale.

Répondre

0

SOLUTION: Plutôt que d'étendre, j'ai copié les fichiers dans my_templates_directory/admin/et les ai édités comme je le souhaitais. Cette solution était acceptable, mais pas idéale.

2

Le chemin contrib/admin/templates/admin doit aller avant le répertoire avec vos modèles d'administration personnalisés dans la liste des chemins dans TEMPLATE_DIRS dans votre settings.py

+0

Je mets "C:/Python26/Lib/site-packages/django/contrib/admin/templates/admin" avant mon répertoire de modèle de projet dans TEMPLATE_DIRS, mais je n'arrive toujours pas à contourner le modèle de travail. J'utilise toujours la même ligne de prolongation de mon article original. Est-ce que ce besoin a changé aussi? – jcady

0

Créer un lien symbolique vers contrib/admin/templates/admin/ dans votre répertoire de modèles et de l'utiliser dans votre déclaration {% extends %}.

cd /path/to/project/templates/ 
ln -s /path/to/django/contrib/admin/templates/admin/ django_admin 

maintenant dans votre admin/index.html utilisation {% extends "django_admin/index.html" %}

EDIT: viens juste de réaliser que vous êtes sur Windows ... Je ne sais pas comment obtenir les mêmes résultats. J'espère que cela aide encore les gens sur Linux.

Questions connexes