Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django模板中的变量中的变量_Python_Django - Fatal编程技术网

Python Django模板中的变量中的变量

Python Django模板中的变量中的变量,python,django,Python,Django,我可以从每个HTML文件访问全局变量。 该变量称为canAccessClients。它是登录用户有权访问的对象(客户端)列表。它主要用于菜单,所以用户只能看到他的客户端。我可以通过canAccessClients..picture.url找到客户的徽标(其url) 现在,我有一个页面,其中只有一些客户 我知道这些客户的身份 此客户端ID显然与canAccessClients列表中的索引不同 因为canAccessClients只是客户端对象的列表 现在我需要显示同一个客户的标志,我知道他的ID

我可以从每个HTML文件访问全局变量。 该变量称为
canAccessClients
。它是登录用户有权访问的对象(客户端)列表。它主要用于菜单,所以用户只能看到他的客户端。我可以通过
canAccessClients..picture.url
找到客户的徽标(其url)

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

我知道这些客户的身份

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

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

现在我需要显示同一个客户的标志,我知道他的ID

我通过在
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 %}
{%用于CanAccessClient%中的客户端]
{%if client.id==client_data.client_id%}
{%endif%}
{%endfor%}
一切正常,但。。。我需要将
forloop.counter
变量传递到
canAccessClients..picture.url
,这不起作用

我怎样才能在路径中的其他变量中使用变量呢?

您可能需要实现这一点。例如:

@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 }}
你可能会想办法做到这一点。例如:

@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 }}

萨克斯!成功了。我使用了
@register.simple_tag def get_client_logo_url(id):返回Clients.objects.get(pk=id).picture.url
,然后使用
{%get_client_logo_url client_data.client_id%}
Thaks!成功了。我使用了
@register.simple_tag def get_client_logo_url(id):返回Clients.objects.get(pk=id).picture.url
,然后使用
{%get_client_logo_url client_data.client_id%}