You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django模板的CKEditor中渲染{{}}变量?

解决Django-ckeditor中插入变量无法正常显示的问题
  • 检查CKEditor核心配置:CKEditor默认可能会过滤或转义{{ 变量名 }}这类模板变量格式,需调整allowedContent配置,明确允许这类语法不被修改;也可自定义内容过滤规则,确保变量标记完整保留。
  • 确认视图层变量传递:确保视图中传递给模板的msg或message内容未被提前转义,比如不要在视图中手动调用escape()方法,保证内容是原始的包含变量标记的字符串。
  • 自定义模板标签解析变量:如果需要让字符串中的Django模板变量被实际解析(而非仅不转义),safe和autoescape off无法实现这个功能,需自定义模板标签来渲染字符串中的模板语法:
    1. 在你的app目录下创建templatetags/custom_tags.py,写入代码:
      from django import template
      from django.template import Template, Context
      
      register = template.Library()
      
      @register.simple_tag(takes_context=True)
      def render_var(context, content):
          return Template(content).render(context)
      
    2. 在模板中加载标签并使用:
      {% load custom_tags %}
      {% render_var msg %}
      
  • 启用CKEditor模板插件:CKEditor自带template插件,开启后可规范插入变量的流程,同时确保变量标记在保存和渲染时不被破坏。

内容的提问来源于stack exchange,提问作者Mohammad Ali Daberi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 12:52:04