Как добавить значения в табличном формате из JSON в Django Шаблон? - PullRequest
0 голосов
/ 18 марта 2020

Я создаю небольшое веб-приложение, которое позволяет пользователю выполнять распознавание текста на выбранном изображении и обеспечивает вывод JSON в табличном формате, подобном этому.

enter image description here

JSON ДАННЫЕ:

{
  "data": {
    "test_1": {
      "test_name": "FASTING SUGAR", 
      "results": "121.00", 
      "units": "mg%", 
      "low_range": 70.0, 
      "high_range": 110.0
    }
  }
}

Когда я выбираю новое изображение, я сталкиваюсь с этим добавьте значения в таблицу, она переопределяет значения вместо добавления.

И что я хочу, это добавить новое значение в таблицу, выбрав другое изображение, предыдущая строка покажет мне, как она есть, и новая получит Append.

Чтобы, наконец, я мог передать все значения в базу данных, нажав кнопку «Отправить».

Вот мой код шаблона:

<form method="post">{% csrf_token %}
  <div class="table-responsive">
    <table id="datatable2" class="table order-column hover">
      <thead>
        <tr>
          <th>Investigation Name</th>
          <th>Result</th>
          <th>UOM</th>
          <th>Low Range</th>
          <th>High Range</th>
        </tr>
      </thead>
      <tbody>
        {% for key, value in data.items %}
        {% for key2,value2 in value.items %}
        <tr class="gradeX">
        <td>{{ value2.test_name }}</td>
        <td>{{ value2.results }}</td>
        <td>{{ value2.units }}</td>
        <td>{{ value2.low_range }}</td>
        <td>{{ value2.high_range }}</td>
      </tr>
    {% endfor %}
    {% endfor %}
  </tbody>
</table>
</div>
<!--end .table-responsive -->
<button type="submit" class="btn btn-primary" name="data">Submit</button>
</form>

И мой views.py

from django.shortcuts import render, redirect
import json
import urllib.request
from .models import Panel
from django.contrib import messages
from .forms import PanelForm, SingleDataForm

def photo_single(request):
    if request.method=='POST':
        form = PanelForm(request.POST, request.FILES)
        form1 = SingleDataForm()
        if form.is_valid():
            print("valid")
            temp,data = form.save()
            return render(request, 'album/photo_single.html', {'data': data, 'form1':form1, 'form': form})
            #return redirect('photo_list')
    else:
        form = PanelForm()

    if request.method=='POST' and 'data' in request.POST:
        form1 = SingleDataForm(request.POST)
        if form1.is_valid():
            print("INside this loop")
            if form1.save():
                print("INside this loop")
                return redirect('album/photo_single.html', messages.success(request, 'Order was successfully created.', 'alert-success'))
            else:
                return redirect('album/photo_single.html', messages.error(request, 'Data is not saved', 'alert-danger'))
        else:
            return redirect('album/photo_single.html', messages.error(request, 'Form is not valid', 'alert-danger'))
    else:
        form1 = SingleDataForm()
    return render(request, 'album/photo_single.html', {'form': form, 'form1':form1})

Как мы можем использовать список в DTL для хранения предыдущих значений и сохранения их как есть, а новое значение просто добавляется в следующую строку ..? Я новичок в Django. Пожалуйста, руководство. Спасибо.

...