Отметьте трехмерный список JSON для HTML-шаблона в FLASK

kbsudhir спросил: 13 июня 2018 в 07:27 в: json
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Predictions</title>
</head>
<body>
<div class="results">
     <table>
         {% for item in summary %}
             <tr><td>
             {{ item['Name'] }}
             </td></tr>
         {% endfor %}
     </table>
</div>
</body>
</html>

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

from flask import Flask, abort, request,render_template, json
from DataPreparationv4 import Data_Preprocess
import numpy as np
import pandas as pd
import pickle
from flask_jsonpify import jsonpifypd.options.mode.chained_assignment = Nonefilename = 'Test2.pkl'
loaded_model = pickle.load(open(filename, 'rb'))app = Flask(__name__)@app.route("/", methods=['GET'])
def Predictions():
#Loading Data
    Base_Data = pd.read_csv('Test.csv')#Calling customized function for data pre process    DataSet1 = Data_Preprocess(Base_Data)    CaseNumber = DataSet1[1]
    DataSet1 = DataSet1[0]
#loading the ML Model
    result = loaded_model.predict(DataSet1)    prob = loaded_model.predict_proba(DataSet1)#Extracting the probabilities
    Predictions = pd.DataFrame({'CTA Code':result,'Prob1':prob[:,0],'Prob2':prob[:,1]})# Getting the probability of the prediction
    Predictions['Probability'] = np.where(Predictions['Prob1'] > Predictions['Prob2'], 
               Predictions['Prob1'], Predictions['Prob2'])    Predictions['CaseNumber'] = CaseNumber['Case Number']    CTA_Map = [['Y',1],['N',0]]
    CTA_Map = pd.DataFrame(CTA_Map,columns=['CTA Met','CTA Code'],dtype=float)# Converting the 0 or 1 predictions to "Y" or "N"
    Predictions = pd.merge(Predictions,CTA_Map[['CTA Code','CTA Met']],on='CTA Code', how='left')
    Predictions =  Predictions.drop(['CTA Code','Prob1','Prob2'], axis=1)
    Predictions = Predictions[['CaseNumber', 'CTA Met', 'Probability']]    #Converting Data frame to list
    df_list = Predictions.values.tolist()    JSONP_data = jsonpify(df_list)    return render_template('hello5.html', summary=JSONP_data)if __name__ == '__main__':
app.run(host='0.0.0.0',port=5000,debug = True)

Ниже приведен код HTML

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Predictions</title>
</head>
<body>
<div class="results">
     <table>
         {% for item in summary %}
             <tr><td>
             {{ item['Name'] }}
             </td></tr>
         {% endfor %}
     </table>
</div>
</body>
</html>

Я получаю следующую ошибку в браузере:

Внутренняя ошибка сервера Сервер обнаружил внутреннюю ошибку и был доступен для завершения вашего запроса. Либо сервер перегружен, либо есть ошибка в приложении.

В командной строке: я получаю эту ошибку.

Файл"D: \ Cisco_June Data \ templates \ hello5.html", строка 3, в верхнем уровне шаблона кода {% для элемента в итоговой%} ТипError: объект" Ответ "не итерируется

Я ищу table like thisSample Table

Пример списка JSON в переменной JSONP_data:

[[33314116979, "Y", 1.0], [33319019191, "Y", 1.0], [33317767878, "N", 0.8006605339105347], [33314115916, "Y", 0,9613333333333333], [33314000397, "Y", 0,89976768072726529], [33318214829, "N", 1.0]

Запрос руководства для решения этой проблемы.

1 ответ

Есть решение
Gelineau ответил: 13 июня 2018 в 03:58

Попробуйте отправить df_list в свой шаблон вместо вызова jsonpify.

jsonpify создает объект ответа, предназначенный для отправки по HTTP, а не для повторения в шаблоне. stackoverflow.com/questions/7907596/json-dumps -vs-колба-jsonify

kbsudhir ответил: 14 июня 2018 в 09:54
спасибо за руководство. Я могу показать этот список как список в шаблоне html. Есть ли руководство / учебник, к которому я могу обратиться, чтобы преобразовать список в html-шаблон или визуализировать dataframe в виде таблицы в html-шаблон

Дополнительное видео по вопросу: Отметьте трехмерный список JSON для HTML-шаблона в FLASK

How to Use Read and Create JSON Objects in Flask

How to Handle Request JSON Data in Flask

Converting Flask-SQLAlchemy to JSON With Flask-Marshmallow