Je suppose que vous avez une Media
dans votre ModelAdmin avec du JavaScript et du CSS supplémentaires pour l'admin ( comme ici ). Votre JavaScript ne connaît pas le nom de l'objet courant, changeons cela.
Créez d'abord l'une des structures de répertoire suivantes dans votre répertoire de modèles : "admin/ your-app
"pour une application ou "admin/ your-app
/ your-model
"pour un modèle spécifique uniquement ( voir la documentation de Django ).
Créez ensuite un fichier "change_form.html" dans ce répertoire et mettez-y quelque chose de similaire à ceci :
{% extends "admin/change_form.html" %}
{% block extrahead %}
<script type="text/javascript" charset="utf-8">
var MYAPP_objectSlug = "{{ original.slug|escapejs }}";
</script>
{{ block.super }}
{% endblock %}
Cela permettra d'étendre le "change_form.html" habituel de l'administrateur et d'étendre le champ d'application de la fonction extrahead
pour définir une variable JavaScript avec votre nom d'objet ( original
est votre objet).
Adaptez maintenant le fichier JavaScript qui exécute la fonction tinyMCE.init
pour utiliser un autre en fonction de la variable JavaScript MYAPP_objectSlug
.
if (MYAPP_objectSlug == "ticker"){
var MYAPP_cssFile = "../css/special.css"; // change to your path
} else {
var MYAPP_cssFile = "../css/default.css"; // change to your path
}
tinyMCE.init({
...
content_css : MYAPP_cssFile,
...
});