Django:在路径是动态的模板中插入图像

Mar*_*Aja 6 django

我知道我可以使用以下模板在 html 生成的页面中插入图像:

 <img src="{% static "myapp/my_image.jpg" %}" alt="Image Description">
Run Code Online (Sandbox Code Playgroud)

问题是我想要稍微复杂一点的东西。假设我的模板中有一个对象“user”,其中包含 user.first_name 和 user.last_name 属性。我想插入一个图像,其路径为:

 <img src="{% static "myapp/{{user.first_name}}_{{user.last_name}}.jpg" %}" alt="Profile Picture">
Run Code Online (Sandbox Code Playgroud)

这行是错误的,我收到错误(Django 无法解析表达式)。有人可以帮忙吗?

我正在用照片构建一种组织结构图,这是包含每个成员的个人资料图片的正确方法吗(基于图片应命名为名字_姓氏.jpg)?

谢谢

小智 8

你还可以做另一件事:

<img src ="{% static 'myapp/' %}{{user.first_name}}_{{user.last_name}}.jpg" alt="Profile Picture">
Run Code Online (Sandbox Code Playgroud)

这同样可以正常工作。希望这可以帮助 :)


rne*_*ius 6

虽然我建议在视图中创建路径并将其作为上下文传递给模板,但您也可以使用过滤add

{% static "myapp/"|add:user.first_name|add:"_"|add:user.last_name|add:".jpg" %}
Run Code Online (Sandbox Code Playgroud)

您还可以为此创建自定义模板标签。有很多选择。