Create a dataframe by reading a csv and show this in template

 https://avkashchauhan.medium.com/full-stack-development-tutorial-sending-pandas-dataframe-as-json-to-coreui-react-template-bf8c6d970548

 

 views.py:

class ReportView(View):
def get(self, request):
if not request.user.is_authenticated:
return HttpResponseRedirect('/login/')
output_predictions_filepath = settings.MEDIA_ROOT+'/pred_result_data/'
# if the directory doesn't exist before, create a new directory
if os.path.isfile(output_predictions_filepath + 'output.csv'):
logger.info("dir")
report_df=pd.read_csv(output_predictions_filepath + 'output.csv')
logger.info(report_df)
else:
report_df=None

logger.info("I am in report page")

row_count = report_df.shape[0]
column_count = report_df.shape[1]
column_names = report_df.columns.tolist()

final_row_data = []
for index, rows in report_df.iterrows():
final_row_data.append(rows.to_dict())

json_result = {'rows': row_count, 'cols': column_count, 'columns': column_names, 'rowData': final_row_data}

return render(request,'baseapp/report.html',{"report_df":json_result})

 

 

report.html:

<!-- src/templates/baseapp/report.html-->
{% extends 'base.html' %}

{% block content %}

<!-- <div id="report-tab">Reports</div> -->

<h1>Dengue Report</h1>
<table class="table-dark table-bordered table-striped table-sm">
<thead>
<tr>
{% for i in report_df.columns %}
<th>{{i}}</th>
{% endfor %}
</tr>
</thead>

{% for j in report_df.rowData %}
<tr>
{% for key, value in j.items %}
<td>{{value}}</td>
{% endfor %}
</tr>
{% endfor %}
</table>


{% endblock content %}


 

 

 

 

 

Comments

Popular posts from this blog

Django Rest Framework Many To Many Relation with intermediate Table Serialization Example