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