Je suppose que vous avez une classe Media
dans votre ModelAdmin avec JavaScript et CSS supplémentaires pour l'administrateur (like here). Votre JavaScript ne connaît pas le slug de l'objet actuel, changeons cela.
d'abord créer l'une des structures de répertoires suivants dans votre répertoire templates: « admin/your-app
» pour une application ou « admin/your-app
/your-model
» pour un modèle spécifique (see the Django documentation).
Ensuite, créez un fichier « change_form.html » dans ce répertoire et mettre quelque chose de semblable à ce là:
{% 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 prolongera l'habituel « change_form.html » de l'administrateur et d'étendre le bloc extrahead
pour définir une variable JavaScript avec votre slug d'objet (original
est votre objet).
Maintenant, adaptez le fichier JavaScript qui exécute le tinyMCE.init
pour utiliser un fichier CSS différent basé sur sur 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,
...
});