В настоящее время я пытаюсь принять определенные c запросы баз данных и отобразить их на странице HTML. Я работаю на Django Framework с mySQL в качестве базы данных. Я успешно выполнил запросы в mySQL, и сервер не выдает мне никаких ошибок, поэтому я заблудился, где go дальше.
Мой файл views.py, где у меня есть запросы
from django.shortcuts import render
from django.http import HttpResponse
from django.contrib.auth.decorators import login_required
from student.models import StudentDetails, CourseDetails
from django.db import connection
from django.core.paginator import Paginator
def dictfetchall(cursor):
"Return all rows from a cursor as a dict"
columns = [col[0] for col in cursor.description]
return [
dict(zip(columns, row))
for row in cursor.fetchall()
]
# Create your views here.
@login_required
def home(request):
cursor = connection.cursor()
cursor.execute("SELECT COUNT(*) 'totalstudents' FROM student_studentdetails")
cursor.execute("SELECT COUNT(*) 'totalseniors' FROM student_studentdetails WHERE year='Senior' ")
cursor.execute("SELECT COUNT(*) 'totaljuniors' FROM student_studentdetails WHERE year='Junior' ")
cursor.execute("SELECT COUNT(*) 'totalfreshman' FROM student_studentdetails WHERE year='Freshman' ")
cursor.execute("SELECT COUNT(*) 'coursecount' FROM student_coursedetails")
cursor.execute("SELECT AVG(GPA) 'averagegpa' FROM student_studentdetails")
homedata = dictfetchall(cursor)
return render(request, 'student/home.html', {'data' : homedata})
Мой дом. html, куда они должны загружаться. Эстетика того, как они отображаются, сейчас второстепенна, я все еще пытаюсь понять, как извлечь данные, не используя строки, но это на другой день.
{% extends 'student/base.html' %}
{% block content %}
<tbody>
{% for row in data %}
<tr>
<td> {{ row.averagegpa }} </td>
<td> {{ row.totalstudents}} </td>
<td> {{ row.totalseniors}} </td>
<td> {{ row.totaljuniors}} </td>
<td> {{ row.totalfreshman}} </td>
<td> {{ row.coursecount}} </td>
</tr>
{% endfor %}
</tbody>
{% endblock %}
и это то, что я вижу, когда запускаю свой сервер и go на домашнюю страницу