如何将上下文传递给Django static模板标签
在Django模板中使用变量拼接静态文件路径的正确方法
你之前的写法无法生效,是因为{% static %}标签的字符串参数内部不会解析模板变量语法{{ }},Django会把"images/{{ context_image }}"当作字面量路径去查找,自然找不到对应的文件。
解决方法有两种:
方法一:在模板中用过滤器拼接路径
使用add过滤器将静态目录前缀和变量拼接后,再传给static标签:{% static "images/"|add:context_image %}方法二:在视图中提前拼接完整路径
在视图里先把完整的静态文件路径拼接好,再传入模板上下文:context_image = 'image1.png' full_image_path = f'images/{context_image}' # 将full_image_path加入模板上下文模板中直接使用拼接好的变量:
{% static full_image_path %}
内容的提问来源于stack exchange,提问作者Nikita Kurabtsev
相关产品推荐
相关产品推荐

