在 django 模板中渲染之前去除 javascript 代码
{% if posts %}
{% for p in posts %}
{{p|safe}}
{% endfor %}
{% endif %}
我希望它渲染 html 但不渲染 javascript,我该怎么办?
{% if posts %}
{% for p in posts %}
{{p|safe}}
{% endfor %}
{% endif %}
I want this to render html but not javascript, what should I do?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
django
中没有任何过滤器可以执行您想要的操作:剥离 javascript 并保留 html。您可以创建一个自定义模板过滤器来执行此操作:(
在哪里放置模板过滤器/标签:自定义模板标签和过滤器/代码布局)
简要说明:
在应用程序文件夹中创建一个名为
templatetags
的文件夹。添加一个空文件__init__.py
(使其成为一个包)和一个包含过滤器my_filters.py
的模块文件。复制该文件中的代码。在模板文件中添加(在第一次使用过滤器之前):
{% load my_filters %}
用法:
There is no filter in
django
that can do what ou want: strip javascript and leave html.You can create a custom template filter to do that:
(Where to put template filters/tags: Custom template tags and filters/Code layout)
Brief explanation:
Create a folder named
templatetags
in your application folder. Add an empty file__init__.py
(for it to be a package) and a module file that will contain the filter,my_filters.py
. Copy the code in that file.In the template file add (before any first use of the filter):
{% load my_filters %}
Usage: