итерация по вложенному словарю и печать на странице Django html - PullRequest
0 голосов
/ 07 февраля 2020

У меня есть словарь, подобный этому

mainDict={'RA CROXE-16353': 
 {'ENGINEER_NAME': 'Leela', 'DESCRIPTION': 'M5  Rainbow when it is conversation with external',      'BINARIES': 'SYM'},  
'RA CROXE-16344': 
{'ENGINEER_NAME': 'MARK', 'DESCRIPTION': 'M5 Network SIP ISDN TLS call with VPN_G729', 'BINARIES': 'TEL.1.so'}
     }

Я хочу перебрать словарь, чтобы можно было печатать в формате таблицы в Django.

CR              ENGINEER_NAME     DESCRIPTION                                        BINARIES

RA CROXE-16353  Leela             M5  Rainbow when it is conversation with external  SYM
RA CROXE-16344  MARK              M5 Network SIP ISDN TLS call with VPN_G729         TEL.1.so

Пожалуйста, кто-нибудь, дайте мне знать, как действовать

<table class="table">
    <tr>
        <td>CR</td>
        <td>Engineer Name</td>
        <td>Description</td>
        <td>Binaries</td>
    </tr>
    {% for key,value in mainDict.items %}
        {% for k,val in value.items %}
    <tr>
        <td>{{key}}<td>         
        <td> {{ value }} </td>      
    </tr>
        {% endfor %}
    {% endfor %}

</table>

Я пытался l oop над кодом с ключами и значениями, но я не могу напечатать в требуемом формате.

1 Ответ

0 голосов
/ 07 февраля 2020

Я думаю, что вам нужно начать с такой структуры в шаблонной функции views.py, которая может быть looped намного проще на стороне шаблона:

CRS = [
    {
          'CR': 'RA CROXE-16344'
          'ENGINEER_NAME': 'Leela', 
          'DESCRIPTION': 'M5  Rainbow when it is conversation with external',
          'BINARIES': 'SYM'
    },
    {  
          'CR': 'RA CROXE-16344'
          'ENGINEER_NAME': 'MARK', 
          'DESCRIPTION': 'M5 Network SIP ISDN TLS call with VPN_G729', 
          'BINARIES': 'TEL.1.so'
    }
]

Итак, что-то как это в views.py:

from django.http import HttpResponse
from django.template import loader


def index(request):
    CRS = [
        {
           'CR': 'RA CROXE-16344'
           'ENGINEER_NAME': 'Leela', 
           'DESCRIPTION': 'M5  Rainbow when it is conversation with external',
           'BINARIES': 'SYM'
        },
        {   
           'CR': 'RA CROXE-16344'
           'ENGINEER_NAME': 'MARK', 
           'DESCRIPTION': 'M5 Network SIP ISDN TLS call with VPN_G729', 
           'BINARIES': 'TEL.1.so'
        }
    ]
    template = loader.get_template('index.html')
    context = {
        'CRS': CRS,
    }
    return HttpResponse(template.render(context, request))

И запустить со следующим:

<table class="table">
    <tr>
        <td>CR</td>
        <td>Engineer Name</td>
        <td>Description</td>
        <td>Binaries</td>
    </tr>
    {% for CR in CRS %}
    <tr>
        <td>{{ CR.CR }}<td>         
        <td>{{ CR.ENGINEEER_NAME }}</td>
        <td>{{ CR.DESCRIPTION }}</td>
        <td>{{ CR.BINARIES }}</td>      
    </tr>
    {% endfor %}
</table>
...