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

如何在Python Django模板中将函数调用结果赋值给变量

Django模板自定义标签返回值赋值方法

你原来的写法无法生效,是因为{% with %}标签仅支持直接给变量赋值,不支持在赋值表达式中执行带参数的自定义标签调用。

你可以按照以下方案处理:

  • 如果你可以修改path_parts标签的源码:
    Django 1.9及以上版本的simple_tag原生支持as赋值语法,只需要确保你的标签是用@register.simple_tag装饰注册的,就可以直接用如下写法调用,将返回值赋值给变量:
    {% path_parts request.get_full_path as paths %}
    
    赋值完成后你可以正常使用paths变量访问返回的字典内容,比如{{ paths.xxx }}。
  • 如果你无法修改path_parts标签的源码:
    你可以自行实现一个极简的自定义工具标签,专门用于接收目标标签、调用参数和变量名,执行调用后将返回值塞进模板上下文即可完成赋值。

内容的提问来源于stack exchange,提问作者Gábor DANI

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 08:45:04