Как отобразить пандас в виде таблицы в шаблоне Django - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть таблица Pandas, которая на мой взгляд заполнена значениями.Это представление отправляет эти данные в мой шаблон.К сожалению, я не могу зациклить значения, хотя я могу это сделать в оболочке python.Я присоединяю свою таблицу и мою попытку:

Моя таблица: (как вывод) в поле зрения, но хочу отображать то же самое через шаблон

     NoofProduct  SumOfQuantity  mine_id  prod_category      nearbyExpiry
0            1              0        1              1                 1
1            2              8        2              2                 2
2            1              4        3              3  no nearby expiry

In views, .py-I have this function

def CategoryWiseViewAll(request, template_name='CategoryViewAll.html'):
    end_date = today + datetime.timedelta(days=61))
    book1=pd.DataFrame(ProductModel.objects.values('prod_category').annotate(SumOfQuantity=Sum('quantity')).annotate(NoofProduct=Count('prod_name')).values('prod_category', 'SumOfQuantity','NoofProduct','mine_id'))
   book2=pd.DataFrame(ProductModel.objects.values('prod_category').filter(prod_expiry__range=(today,end_date)).annotate(SumOfQuantity=Sum('quantity')).annotate(nearbyExpiry=Count('prod_name')).values('prod_category','nearbyExpiry'))
    bookqs1 = ProductModel.objects.values_list('prod_category').annotate(SumOfQuantity=Sum('quantity')).annotate(NoofProduct=Count('prod_name')).values('prod_category', 'SumOfQuantity','NoofProduct','mine_id')
    datalist1 = []
    datalist2 = []
    data1 = {}
    data2 = {}
    i=0
    if len(book2) == 0:
        datalist1=bookqs1
    else:

        datalist2 = pd.merge(book1, book2, how="left")
        datalist2 = datalist2.fillna("no nearby expiry")
    print (datalist1)
    print (datalist2)
    data1['object_list']=datalist1
    data2['object_list']=datalist2
    return render(request, template_name, data1, data2)


My attempt: As template
<table class="table " id="myTable">
         <thead>
             <tr>
              <th>Sl No</th>
               <th>Mine Name</th>
               <th>Category Name</th>
                <th>No of Product</th>
                 <th>In Stock</th>
                  <th>No. of Prod Expiring Soon...</th>
              </tr>
          </thead>
               <tbody>
                    {% if data1 %} 
                                <!-- {% for book.1 in object_list %} -->
                                {% for i, b in object_list.itertuples %}
                                   <tr>
                                        <td>{{forloop.counter}}</td>
                                        <td>{{ b.mine_id}}</td>
                                        <td>{{ b.prod_category }}</td>
                                        <td>{{ b.NoofProduct }}</td>
                                        <td>{{ b.SumOfQuantity}}</td>
                                        <td> {{ b.nearbyExpiry}} </td>
                                    </tr>   
                                {% endfor %}
                    {% else %}
                               {% for book in object_list %}        
                                        <tr>
                                        <td>{{forloop.counter}}</td>
                                        <td>{{ book.mine_id}}</td>
                                        <td>{{ book.prod_category }}</td>
                                        <td>{{ book.NoofProduct }}</td>
                                        <td>{{ book.SumOfQuantity }}</td>
                                        <td> 0 </td>
                                        </tr>
                                {% endfor %}
                    {% endif %}            
                    </tbody>

 I am receiving below error : 
"Invalid block tag on line 56: 'else', expected 'empty' or 'end'. Did you forget to register or load this tag?"

And not able to show table data in my template or in UI

В оболочке Python (где я тестировал) я мог зацикливатьсяТаблица по методике ниже.Как я могу зациклить свою таблицу панд в шаблоне Django?Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...