在django模板中呈现之前剥离javascript代码
Strip javascript code before rendering in django templates
{% if posts %}
{% for p in posts %}
{{p|safe}}
{% endfor %}
{% endif %}
我想让它呈现html而不是javascript,我该怎么办?
django
中没有过滤器可以执行您想要的操作:去掉javascript并留下html。
你可以创建一个自定义模板过滤器来做到这一点:
from django import template
from django.template.defaultfilters import stringfilter
from django.utils.safestring import mark_safe
from django.utils.encoding import force_unicode
import re
register = template.Library()
@register.filter
@stringfilter
def stripjs(value):
stripped = re.sub(r'<script(?:'s[^>]*)?(>(?:.(?!/script>))*</script>|/>)', '
'', force_unicode(value), flags=re.S)
return mark_safe(stripped)
(放置模板过滤器/标签的位置:自定义模板标签和过滤器/代码布局(
简要说明:
在应用程序文件夹中创建一个名为templatetags
的文件夹。添加一个空文件__init__.py
(使其成为一个包(和一个将包含筛选器的模块文件my_filters.py
。复制该文件中的代码。
在模板文件中添加(在首次使用过滤器之前(:{% load my_filters %}
用法:
{% if posts %}
{% for p in posts %}
{{ p|stripjs }}
{% endfor %}
{% endif %}
相关文章:
- 如何在JavaScript中剥离数组元素中的非整数
- Javascript从字符串中剥离所有url参数
- 从javascript对象中剥离方法
- 如何在 javascript 中剥离 ipv6 地址
- 在javascript变量中剥离部分HTML内容
- 如何在javascript数组中剥离字符串的一部分
- document.body.innerHTML 在 IE 中剥离 JavaScript - bug
- 从其他字符串中剥离字符串,如果它以它使用 JavaScript 开头
- 有没有办法从 PHP 中的字符串中剥离所有 JavaScript
- JavaScript:去除元数据中的URL,而不剥离所有字符串中的空格
- 从字符串中剥离 javascript unicode 字符 8206
- 使用 Javascript 从 API 响应中剥离 @
- 使用白名单安全地剥离javascript中的html标签
- 获取dust.js以剥离JavaScript注释
- 有没有一种快速的工具可以在不剥离JavaScript源代码中的注释的情况下执行恒定的替换?
- 当允许自定义页眉和页脚时,我们应该剥离JavaScript吗?
- 如何在构建HTML时剥离JavaScript代码?
- 在django模板中呈现之前剥离javascript代码
- 用JavaScript从HTML DOM树中剥离JavaScript
- 在PHP上剥离javascript的regex