Как напечатать значение «изменяющегося поля» в шаблоне Django - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь отобразить список полей (и их значений) в шаблоне. Проблема в том, что имена полей меняются, и я не могу их контролировать. e, g поля могут быть:

field_name1
field_object1
field_input1

Единственная постоянная здесь - это префикс "field _"

Это затрудняет получение значения этого поля в шаблоне. Я следовал совету здесь: Django: Невозможно сослаться на имя поля в шаблоне, которое содержит точку и смогло напечатать имена полей. Но я все еще не знаю, как напечатать значения этих полей.

model.py

rowObj = {
    'id': id,
    'inputList': {'Input_' + k: v for k, v in objList}
    }

# Example of the outputs (The outputs can be one of the following):

    #   rowObj = {
    #         'id': 1,
    #         'inputList': {'Input_Image' : 'http://test', 
    #                       'Input_Image2' : 'http://test2' }
    #        }

#another time the output can be:

    #    rowObj = {
    #         'id': 1,
    #         'inputList': {'Input_Text' : 'Random text', 
    #                       'Input_Text2' : 'Random text 2' }
    #        }

Мой шаблон:

{% for row in row_list %}
      <tr>               
          <td>{{ row.id }}</td>

               {% for obj in row.inputList %}      
                     <td>{{ obj }}</td>
                {% endfor %}
        </tr>
{% endfor %}

Приведенный выше код только выводит имя поля, которое будет "Input_Image" и "Input_image2". Я не знаю, как напечатать значения этих полей. Не могли бы вы помочь. Спасибо.

1 Ответ

0 голосов
/ 02 апреля 2020

Кто-то на Reddit ответил на этот вопрос. Решение использует следующее в шаблоне:

{% for k,v in row.inputList.items %} {{ k }} : {{ v }} {% endfor %} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...