Переменная не показывает значение в теге шаблона - PullRequest
0 голосов
/ 18 октября 2018

У меня есть следующий сегмент кода:

image = [
    'register.png',
    'checkin.png',
    'checkin.png'
]
imagetext = [
    'Register Patient',
    'Checkin Patient',
    'Checkin Patient'
]
link = [
    '/clinic/%s/register' % cliniclabel,
    '/clinic/%s/checkin' % cliniclabel,
    '/clinic/%s/checkin' % cliniclabel
]
zipsidebarstuff = zip(image, imagetext, link)
return render(request, 'clinic/cliniccurrent3.html', 
              {'rnd_num': randomnumber(), 'clinic': clinicobj,
               'checked_list': checkedin_list, 'patientcount': patientcount,
               'type':'live', 'ClinicUserName': name, 'showhelp': helpneeded,
               'NumUnconfirmedAppts': NumUnconfirmedAppts(clinicobj),
               'zipsidebarstuff': zipsidebarstuff})

В моем шаблоне у меня есть:

<div class="col-md-6">
    <div class="sidebar-nav-fixed pull-right affix">
      <div class="row">
        <div class="d-inline-flex flex-row flex-wrap">
          {% for image, imagetext, link in zipsidebarstuff %}
          <div class="p-2 bd-white">
            <div class="d-inline-flex flex-column">
              <div class="p-2 flex-fill bd-highlight">
                <a href="{{ link }}"><img class="imgsidebtn" 
                   src="{% static 'clinic/img/{{ image }}' %}" /></a>
              </div>
              <div class="p-2 flex-fill bd-highlight">
                <a href="{{ link }}" class="btn btn-primary">{{ imagetext }}</a>
              </div>
            </div>
          </div>
          {% endfor %}
        </div>
      </div>
      {% include "clinic/helpbar.html" with location="livelist" foo=bar %}
  </div>
</div>

Проблема заключается в отображении тега

<a href="{{ link }}"><img class="imgsidebtn" 
                          src="{% static 'clinic/img/{{ image }}' %}" /></a>

в визуализированном html.Это показано как:

<a href="/clinic/jeslineye/checkin"><img class="imgsidebtn"
 src="/appointments/static/clinic/img/%7B%7B%20image%20%7D%7D"></a>

Почему это происходит?Как я могу это исправить?

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Нельзя использовать переменную внутри тега {% static %}.Что вы можете сделать, это использовать get-static-prefix и создать URL-адрес вручную.Например:

<img src="{% get_static_prefix %}clinic/img/{{ image }}">
0 голосов
/ 18 октября 2018

Вы не можете использовать переменную шаблона внутри тега static, например:

{% static 'clinic/img/{{ image }}' %}

Вместо этого используйте with и add filter

{% with <b>"clinic/img/"|add:image as image_url</b> %}{% static <b>image_url</b> %}{% endwith %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...