【问题标题】:Is there any 'safe' keyword of Django template filter in Python or JavaScript?Python 或 JavaScript 中是否有任何 Django 模板过滤器的“安全”关键字?
【发布时间】:2021-12-29 04:32:43
【问题描述】:

我使用 ckeditor 作为描述字段,允许用户格式化文本。

这是我在描述字段中保存的内容:

<div class="ql-editor" data-gramm="false" data-placeholder="Compose an epic..." contenteditable="true">
<p><strong>Lösungen, die mit Ihrem Unternehmen wachsen. Gern berate ich Sie zu allen Steuerfragen. Vereinbaren Sie ein individuelles Informationsgespräch. Annette Wolff Ι Steuerberaterin</strong></p>
</div>
<div class="ql-clipboard" tabindex="-1" contenteditable="true">
</div>
<div class="ql-tooltip ql-hidden">
<a class="ql-preview" target="_blank" href="about:blank"></a><input type="text" data-formula="e=mc^2" data-link="https://quilljs.com" data-video="Embed URL"><a class="ql-action"></a><a class="ql-remove"></a>
</div>

为了以正确的格式显示它,我在 Django 模板中使用了 description|safe 过滤器,它显示如下描述:

Lösungen, die mit Ihrem Unternehmen wachsen。 Gern berate ich Sie zu allen Steuerfragen。 Vereinbaren Sie ein individuelles Informationsgespräch。 Annette Wolff Ι Steueberaterin

但是我不能使用 Django 模板 safe 过滤器关键字,如何通过 Ajax 调用来处理它?

有没有办法在 JavaScript、jQuery 或 Python 文件中处理它?

【问题讨论】:

  • 我如何仅在描述字段值中使用mark_safe。你能详细说明一下吗?我不知道如何使用它,因为它返回一个对象 (docs.djangoproject.com/en/3.0/ref/utils/…)。如果我错了,请检查并纠正我。
  • 显示您的 JS 在哪里进行 AJAX 调用以及返回数据的视图?
  • 我还没有用 ajax 调用它。但如果我可以转换它。然后我可以用ajax调用它。否则没有使用ajax的意义。有什么办法可以将它与 javascript 一起使用。

标签: javascript python django django-templates django-filter


【解决方案1】:

您可以在 AJAX 视图中使用 JsonResponse 简单地将描述作为 html 返回:

from django.http import JsonResponse

def myview(request):
    html = "<h1>Some text</h1>"
    return JsonResponse(html, safe=False)

您也可以在视图中使用mark_safe 作为mark_safe(html)

【讨论】:

  • 好的,我会试试的。
  • JsonResponsesafe 参数与将 HTML 内容标记为安全无关。当它是True 时,只能传递字典
  • 我尝试使用 mark_safe 。我认为它会起作用,但它没有。我不知道为什么
  • 你是如何尝试 mark_safe 显示代码的。
猜你喜欢
  • 2019-08-16
  • 2012-01-16
  • 1970-01-01
  • 2011-02-14
  • 2017-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-23
相关资源
最近更新 更多