我有一個模型0123',它可以在管理中用TinyMCE控件進行編輯。不過,我希望能夠根據正在編輯的模型的實例給出不同的TinyMCE選項。我怎樣才能做到這一點?django-tinymce:對不同的實例使用不同的選項
(例如,如果用戶正在編輯SimplePage
實例technologies
,我想TinyMCE的使用默認的CSS文件,但如果它的編輯,其蛞蝓是ticker
的SimplePage
,我想用一個不同的CSS文件,其蛞蝓)
我有一個模型0123',它可以在管理中用TinyMCE控件進行編輯。不過,我希望能夠根據正在編輯的模型的實例給出不同的TinyMCE選項。我怎樣才能做到這一點?django-tinymce:對不同的實例使用不同的選項
(例如,如果用戶正在編輯SimplePage
實例technologies
,我想TinyMCE的使用默認的CSS文件,但如果它的編輯,其蛞蝓是ticker
的SimplePage
,我想用一個不同的CSS文件,其蛞蝓)
我想你的ModelAdmin中有一個Media
類,併爲admin(like here)增加了JavaScript和CSS。你的JavaScript不知道當前對象的slu,,讓我們改變它。
首先建立在你的模板目錄下面的目錄結構中的一種:「管理/ your-app
」爲一個應用程序或「管理/ your-app
/your-model
」爲一個特定的模型只(see the Django documentation)。
然後創建在該目錄中的文件「change_form.html」,並把類似這樣的東西在裏面:
{% extends "admin/change_form.html" %}
{% block extrahead %}
<script type="text/javascript" charset="utf-8">
var MYAPP_objectSlug = "{{ original.slug|escapejs }}";
</script>
{{ block.super }}
{% endblock %}
這將延長管理的通常的「change_form.html」,延長extrahead
塊用你的對象設置一個JavaScript變量slug(original
是你的對象)。
現在修改執行tinyMCE.init
以在JavaScript變量MYAPP_objectSlug
上使用基於 的不同CSS文件的JavaScript文件。
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,
...
});