Django - Данные из представления не отображаются в шаблоне

У меня некоторые проблемы с пониманием того, как переменные передаются в шаблоны в Django, я новичок, так что имейте это в виду. Моя проблема в том, что при загрузке URL данные из баз данных не могут быть отображены, за исключением user(request.user.username), который странным образом загружается. Я даже пытался объявить переменные внутри def представления, но даже они не отображаются

Модель импортируется внутри views.py.

Моя идея заключается в том, что поскольку user из request.user загружается, должна быть какая-то проблема с загрузкой модели базы данных, но это не объясняет, почему даже свежеобъявленные переменные внутри def представления не передаются.

На странице /admin все модели работают нормально.

Ниже приведены фрагменты моего кода, их должно быть достаточно для понимания проблемы, если нет, я могу загрузить другие части.

Заранее спасибо.


views.py:

def load_main(request):
    diet_list = DietTable.objects.all()

    return render(request, 'main/main.html',
                  {
                      'diet_list': diet_list,
                      'user': request.user.username,
                  })

часть в main.html:

<body>
...
<header>
...
</header>
...
{% block content %}

    <strong>
        {{ user }}

        {% for element in diet_list %}
            {{ element }}
        {% endfor %}
    </strong>

{% endblock %}
...
</body>


urls.py:

from django.urls import path, include


from main import views

urlpatterns = [
    path('', views.load_main, name='main_view'),
]

models.py

...

class DietTable(models.Model):
   diet_id = models.AutoField(primary_key=True)  # to not use the default 'id; given by django
   dietName = models.CharField(max_length=50)
   dietType = models.ForeignKey(DietTypes, on_delete=models.PROTECT)
   startDate = models.DateTimeField()
   dayLength = models.IntegerField()

   def __str__(self):
       return str(str(self.dietName) + "(" + str(self.dayLength) + ")")
...

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