В 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?

enter image description here

Я думаю, что ваш доступ к объекту 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)

Если вы видите результаты, значит, проблема с базой данных отсутствует.

Вернуться на верх