gpt4 book ai didi

python - django-tinymce:对不同的实例使用不同的选项

转载 作者:行者123 更新时间:2023-11-28 18:55:43 25 4
gpt4 key购买 nike

我有一个带有 HTMLField 的模型,可以在管理员中使用 TinyMCE 控件对其进行编辑。但是,我希望能够根据正在编辑的模型实例为 TinyMCE 提供不同的选项。我该怎么做?

(例如,如果用户正在编辑其 slug 是 technologiesSimplePage 实例,我希望 TinyMCE 使用默认的 CSS 文件,但是如果它编辑 SimplePage 其 slug 是 ticker,我想使用不同的 CSS 文件。)

最佳答案

我猜您的 ModelAdmin 中有一个 Media 类,其中包含用于管理的附加 JavaScript 和 CSS (like here)。您的 JavaScript 不知道当前对象的 slug,让我们改变它。

首先在模板目录中创建以下目录结构之一:应用程序的“admin/your-app”或“admin/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 block 以使用您的对象 slug 设置 JavaScript 变量(original 是您的对象) .

现在调整执行 tinyMCE.init 的 JavaScript 文件以使用基于不同的 CSS 文件 在 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,
...
});

关于python - django-tinymce:对不同的实例使用不同的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2310835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com