Django Template Tagging вставляет одно значение из ListView - PullRequest
0 голосов
/ 25 января 2019

Итак, я работаю над проектом веб-сайта и у меня возникают проблемы с одной страницей.

Я, по сути, загружаю победы и поражения команд НБА на страницу и создаю собственную временную лестницу.

Данные, загруженные из моей модели, выглядят следующим образом:

MODEL.PY

from django.db import models
from django.utils import timezone

# Create your models here.

class Team(models.Model):
    team_name = models.CharField(max_length=500, unique=True, primary_key=True)
    wins = models.PositiveIntegerField()
    losses = models.PositiveIntegerField()
    created_date = models.DateTimeField(default=timezone.now)

Я использую ListView в моем файле views.py следующим образом:

VIEWS.PY

class LadderListView(LoginRequiredMixin, ListView):
    #this defaults to looking for the models name html so in this case team_list.html
    # so i changed it to template_name variable
    template_name = 'merchbet/ladder_list.html'
    model = models.Team

и отобразить файл urls.py следующим образом:

path('ladder/', views.LadderListView.as_view(), name='ladder_list'),

все это успешно работает.

Когда я добираюсь до своего html-кода, я могу командам и их записям выигрышей / проигрышей распечатать на веб-сайте с пометкой шаблонами, но я хочу вставить одну строку внизу, которая показывает «Последнее обновление: {{team.created_date}}.

Это не работает, и я не получаю ошибки, "{{team.created_date}}" просто ничего не показывает на странице URL.

Я просмотрел документы и не вижу, что я делаю неправильно.

Это мой HTML-код:

LADDER_LIST.HTML

{% extends 'merchbet/base.html' %}

{% block content %}
<div class="container">


<table>
<tbody>
<tr>
<td>Team</td>
<td>Wins</td>
<td>Losses</td>
</tr>
{% for teams in object_list %}
<tr>
<td>{{ teams.team_name }}</td>
<td>{{ teams.wins }}</td>
<td>{{ teams.losses }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>

<h2 style="color:white;"> testing {{ team.created_date }}</h2>

{% endblock %}

Заранее спасибо за любую помощь.

Ответы [ 2 ]

0 голосов
/ 25 января 2019

У вас нет ничего с именем team в вашем шаблоне.

Если вы просто хотите отобразить значение из одной команды в lst, и вам все равно, какая из них, просто возьмитепервый или последний:

{{ object_list.0.created_date }}
0 голосов
/ 25 января 2019

вам просто нужно отредактировать свои модели, и это должно решить вашу проблему

class Team(models.Model):
    ....
    created_date = models.DateTimeField(auto_now=False, auto_now_add=True) #when you first add team
    updated = models.DateTimeField(auto_now=True, auto_now_add=False) #when you update 
    class Meta :
        ordering = ["-updated","created_date"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...