想知道是否可以根据谁登录来动态更改javascript或html文件?它是烧瓶管理员服务器。 我想用用户登录名或电子邮件填充我的javascript ckeditor配置文件以使用它。
https://ckeditor.com/cke4/addon/lite
因此,我可以将ckeditor中更改的作者设置为登录的任何人。 我目前可以使用以下代码在管理页面模板中对其进行设置:
CKEDITOR.on('instanceCreated', function (event) {
var editor = event.editor,
element = editor.element;
editor.on('configLoaded', function () {
var conf = CKEDITOR.config;
var lt = conf.lite = conf.lite || {};
lt.isTracking = true;
lt.userName = "John";
lt.userId = 2;
lt.tooltipTemplate = "%a by- %u ,Time: %d-%m-%yy: (%t)";
});
});
我想将它的用户名更改为任何登录的人。
谢谢。
答案 0 :(得分:0)
您必须将此数据从视图传递到脚本。
在视图类中覆盖编辑模板,如果在其中嵌入编辑器,则对创建模板执行相同的操作:
class MyView(ModelView):
edit_template = "my_edit.html"
create_template = "my_create.html"
模板代码:
{# extend base edit template #}
{% extends 'admin/model/edit.html' %}
{# to extend base create template - use 'admin/model/edit.html' above #}
{% block tail_js %}
{# print your data before scripts output, assign to window object #}
{# presume you are using Flask-Login, it exposes current_user to the view #}
window.APP_USER_NAME = "{{ current_user.name }}";
{# print the rest of scripts #}
{{ super() }}
{% endblock %}
您现在可以从脚本访问名称:
CKEDITOR.on('instanceCreated', function (event) {
var editor = event.editor,
element = editor.element;
editor.on('configLoaded', function () {
var conf = CKEDITOR.config;
var lt = conf.lite = conf.lite || {};
lt.isTracking = true;
lt.userName = window.APP_USER_NAME;
lt.userId = 2;
lt.tooltipTemplate = "%a by- %u ,Time: %d-%m-%yy: (%t)";
});
});