Python Django在模板标记中使用变量
我正在Django模板中使用静态模板标记:Python Django在模板标记中使用变量,python,django,templates,django-models,django-templates,Python,Django,Templates,Django Models,Django Templates,我正在Django模板中使用静态模板标记: {% load staticfiles %} <img src="{% static "my_app/myexample.jpg" %}" alt="My image"/> {%load staticfiles%} 但是,我需要使用作为模型对象属性的文件名,而不是“my_app/myexample.jpg”(即{{SampleModel.0.propertyValue}},我将其作为上下文传递到此模板。但是如何在静态模板标记中包含{…}
{% load staticfiles %}
<img src="{% static "my_app/myexample.jpg" %}" alt="My image"/>
{%load staticfiles%}
但是,我需要使用作为模型对象属性的文件名,而不是“my_app/myexample.jpg”
(即{{SampleModel.0.propertyValue}}
,我将其作为上下文传递到此模板。但是如何在静态模板标记中包含{…}
,它会抛出一个错误
有什么办法吗?您可以在静态模板标记中使用变量。请注意,您不需要
{{
或}
{% static SampleModel.0.propertyValue %}
您可以在静态模板标记中使用变量。请注意,您不需要
{{
或}
{% static SampleModel.0.propertyValue %}
您可以在Django标记中使用上下文中的任何变量(自定义标记可能需要进行一些调整才能使用)。在您的情况下,这样做很好:
{% static SampleModel.0.propertyValue %}
这种用法也适用于:
{% with my_computed_var=SampleModel.0.propertyValue %}
{% static my_computed_var %}
{% endwith %}
{% static some_var|customFilter %}
有关更多信息,请参阅,它也与Django默认标记相关。您可以在Django标记中使用上下文中的任何变量(自定义标记可能需要一些调整才能使用)。在您的情况下,这很好:
{% static SampleModel.0.propertyValue %}
这种用法也适用于:
{% with my_computed_var=SampleModel.0.propertyValue %}
{% static my_computed_var %}
{% endwith %}
{% static some_var|customFilter %}
有关更多信息,请参阅,它也与Django defaults标记相关。如果包含动态值,该资产是否应该是静态的?您可能有充分的理由这样做,但这可能暗示应用程序设计不佳aswell@Mischback:我有文件名的图像,这些文件名可以由模型对象的属性生成。而不是t他的,那么我该如何处理这个问题……我个人会为这个用例编写我自己的模板标记:如果你包含一个动态值,那么这个资产应该是静态的吗?你可能有很好的理由这样做,但这可能暗示应用程序设计不好aswell@Mischback:我有可以由mo属性生成的具有文件名的图像del objects。而不是这个,我该如何解决这个问题。我个人会为这个用例编写我自己的模板标记:如果路径是“images/{{SampleModel.0.propertyValue}}.png”,那么你可以使用过滤器:
{%static“images”| add:SampleModel.0.propertyValue | add:“.png”%}
。如果路径是“images”/{{SampleModel.0.propertyValue}}.png“然后?然后您可以使用过滤器:{%static”images“|添加:SampleModel.0.propertyValue |添加:“.png”%}
。