Диманически получить доступ к полю таблицы в django используя цикл for - PullRequest
0 голосов
/ 07 апреля 2020
def xyz():    
site_data=site.objects.all()
site_fields = site._meta.get_fields()
site_fields_name = [f.name for f in site_fields][1:]
return render(request, "Demoapp/InputGssA1.html", {'headers': table_structure,'site_data':site_data,'site_fieldname':site_fields_name})

это рендер из функции внутри view.py и я хочу показать в табличном формате в InputGssA1. html, здесь код таблицы похож на

{% for i in site_data %}
<tr>
{% for x in site_fieldname %}
    <td>{{i.x}}</td>
{% endfor %}
</tr>

{% endfor%}

но проблема в том, что я не могу получить доступ к object.fieldname, используя ix в моем коде, i.fieldname статически работает, но таким образом это не работает, Как я получаю доступ к имени поля объекта таким образом внутри тега шаблона ??

1 Ответ

1 голос
/ 07 апреля 2020

Вам не нужно такое сложное решение. Вы можете просто попробовать с values():

# view
def xyz(request):
    site_fields = site._meta.get_fields()
    site_fields_names = [f.name for f in site_fields][1:]
    site_data=site.objects.values(*site_fields_name)
    return render(request, "Demoapp/InputGssA1.html", {'headers': table_structure,'site_data':site_data})

# template
{% for data in site_data %}
{% for field, value in data.items %}
<tr>
    <td>{{ value }}</td>
</tr>
{% endfor %}
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...