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

Django模板传递URL自动添加amp;,如何让URL原样输出?

解决Django模板中转义带签名URL的问题

Django模板默认会自动转义HTML特殊字符,导致你传递的带签名URL里的&被转成&,进而使URL失效。以下两种方法可以解决这个问题:

方法一:在模板中使用safe过滤器

直接在模板变量后添加|safe过滤器,明确告诉Django该URL内容是安全的,无需转义:

background-image:url({{ url|safe }});

方法二:在视图中标记URL为安全内容

如果这个URL需要在多个模板中复用,不想重复添加过滤器,可以在视图里用mark_safe函数将URL标记为安全字符串:

from django.utils.safestring import mark_safe

context = {"url": mark_safe("https://fra1.digitaloceanspaces.com/logatta-space/organization_survey/static/img/page1-d.jpg?AWSAccessKeyId=DO00GN8LVUJB9VNAQL69&Signature=EM6bumz7gPzaPBPqHHdGfqBMVWk%3D&Expires=1670256832")}     
return render(request, 'index1.html', context)

之后在模板里直接使用{{ url }}就不会触发自动转义了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 22:50:21