gpt4 book ai didi

python - Django 模板变量中的变量

转载 作者:太空宇宙 更新时间:2023-11-03 20:00:14 25 4
gpt4 key购买 nike

我可以从每个 HTML 文件访问全局变量。该变量名为 canAccessClients 。它是登录用户有权访问的对象(客户端)列表。它主要用在菜单中,因此用户只能看到他的客户。我可以通过 canAccessClients.<some_index>.picture.url 找到客户的 Logo (其网址) .

现在,我有一个页面,其中只有一些客户。

我知道这些客户的 ID。

此客户端 ID 与 canAccessClients 列表中的索引明显不同.

因为canAccessClients只是客户端对象的列表。

现在我需要显示我知道他的 ID 的同一个客户的 Logo 。

我通过查找迭代 canAccessClients 来做到这一点(也许是个坏主意,但有效)并寻找所需的 ID。

{% for client in canAccessClients %}
{% if client.id == client_data.CLIENT_ID %}
<img class="client-menu-logo" src="{{ canAccessClients.{{ forloop.counter }}.picture.url }}" alt="logo">
{% endif %}
{% endfor %}

一切正常,但是......我需要通过 forloop.counter变量为canAccessClients.<some_id>.picture.url ,这不起作用。

如何在像这样的路径中的其他变量中使用变量?

最佳答案

您可以write your own template tag为了达成这个。示例:

@register.simple_tag
def get_image_url_by_id(id):
url = Client.objects.get(pk=id).image_url # get image url from database
return url

在模板中:

{% with get_image_url_by_id forloop.counter as image_url %}
{{ image_url }}

关于python - Django 模板变量中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59287831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com