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) + ")")
...