簡體   English   中英

Django 模板中變量中的變量

[英]Variable in a Variable in Django Template

我可以從每個 HTML 文件訪問全局變量。 該變量稱為canAccessClients 它是登錄用戶有權訪問的對象(客戶端)列表。 它主要用於菜單,因此用戶只能看到他的客戶。 我可以通過canAccessClients.<some_index>.picture.url找到客戶的標志(它的 url)。

現在,我有一頁只有一些客戶。

我知道這些客戶的 ID。

此客戶端 ID 顯然與canAccessClients列表中的索引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 %}

一切正常並且沒問題,但是...我需要將forloop.counter變量傳遞給canAccessClients.<some_id>.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 }}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM