В Django отсутствуют данные из базы данных
У меня проблема, которая не должна появляться. Создал проект django. все шаги выполнил на windows OS. Теперь когда пошел делать все то же самое на Ubuntu 20.04 то мой index.html не отображает никаких данных из базы данных, даже если данные есть (я проверил)
Html::
<!DOCTYPE html>
<html lang="en">
<head>
<title>Django CRUD Operations</title>
<meta charset="utf-8">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<table class="table table-striped">
<thead>
<tr>
<th>Flight ID</th>
<th>Aircraft</th>
<th>Registration</th>
<th>Latitude</th>
<th>Longtitude</th>
</tr>
</thead>
<tbody>
{% for c in flight %}
<tr>
<td>{{c.id}}</td>
<td>{{c.aircraft}}</td>
<td>{{c.registration}}</td>
<td>{{c.latitude}}</td>
<td>{{c.longtitude}}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</body>
</html>
Views.py::
from .models import Flights
from django.shortcuts import render
def show(request):
flights = Flights.objects.all()
return render(request,"show.html",{'flight':flights})
База данных подключена. Есть идеи? Может быть, в Ubuntu 20.04 есть что-то, что нужно делать иначе, чем в windows os?
Я думаю, что ваш доступ к объекту flights неправильный
Как было сказано Здесь вы должны получить доступ следующим образом
{% for c in flights['flight'] %}
<tr>
<td>{{c.id}}</td>
<td>{{c.aircraft}}</td>
<td>{{c.registration}}</td>
<td>{{c.latitude}}</td>
<td>{{c.longtitude}}</td>
</tr>
{% endfor %}
или вы посмотрите его следующим образом
{% for key, value in flights %}
<p> Value {{ value }}</p>
{% endfor %}
Запросите базу данных с помощью Django-shell и проверьте данные. Используйте python3 manage.py shell. В оболочке:
from fly.models import Flights
flight_qs = Flights.objects.all()
for c in flight_qs:
print(c.id)
Если вы видите результаты, значит, проблема с базой данных отсутствует.
