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

Django打印a标签href对应文本时如何去除附带的完整URL?

问题原因

你当前代码里的CSS规则主动为所有带printable类的<a>标签的未访问、已访问状态追加了后缀内容,通过content:" [" attr(href) "] "把链接地址拼到了文本后方,这是打印时出现额外URL的根本原因。

解决方案
  • 方案1:完全不需要所有printable类a标签显示链接后缀
    直接删除如下CSS代码段即可:
a.printable:link:after,
a.printable:visited:after {
    content:" [" attr(href) "] ";
}
  • 方案2:仅打印时隐藏链接后缀,正常浏览页面时保留
    新增打印媒体查询的覆盖样式:
@media print {
  a.printable:link:after,
  a.printable:visited:after {
    content: none !important;
  }
}
  • 方案3:仅当前这个「Accept this Order」的a标签不需要显示后缀,其余printable类a标签保留原有逻辑
    给当前a标签新增专属类名,比如no-print-href,修改后的a标签代码如下:
<a href="{{ request.scheme|safe|escape }}://{{ request.get_host }}/crm/orders/accepting/{{client.id}}/{{invoice.id}}/" class="printable no-print-href" style="color:#fff; text-decoration:none;">Accept this Order</a>

再新增对应CSS规则:

a.no-print-href:link:after,
a.no-print-href:visited:after {
    content: none !important;
}

如果修改后部分浏览器打印仍出现URL,是浏览器默认打印样式导致的,新增全局打印覆盖规则即可:

@media print {
  a:link:after, a:visited:after {
    content: none !important;
  }
}

内容的提问来源于stack exchange,提问作者VEERA BABU

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 15:09:02