почему названия команд не отображаются в django html? - PullRequest
0 голосов
/ 05 июля 2018
migrations.CreateModel(
    name='BasketballScore',
    fields=[
        ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
        ('match_played', models.IntegerField(default='0')),
        ('lose', models.IntegerField(default='0')),
        ('win', models.IntegerField(default='0')),
        ('points', models.IntegerField(default='0')),
        ('team', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='teams_basketball', to='Schedule.Team')),
    ],
),

Это часть из моей папки миграции, думаю, это подтверждает, что моя BasketballScore модель перенесена нормально.

class BasketballScore(models.Model):
    team = models.ForeignKey(Team, related_name='teams_basketball', on_delete=models.CASCADE)
    match_played = models.IntegerField(default='0')
    lose = models.IntegerField(default='0')
    win = models.IntegerField(default='0')
    points = models.IntegerField(default='0')

Это актуальная модель BasketballScore .

class BasketballScoreView(generic.ListView):
    context_object_name = 'matches'
    template_name = 'Schedule/basketball_score.html'
    queryset = BasketballScore.objects.all()

    def get_queryset(self):
        return BasketballScore.objects.all().order_by('-points')

Это соответствующий класс BasketballScoreView в views.py.

{% extends 'Schedule/base.html' %}
{% block content %}

<div class="container">
<p><button onclick="window.location='{% url 'index' %}'" class="btn btn-default">Go Back</button></p>

<div class="table-responsive">
<table class="table table-bordered table-hover">
  <tr>
  <th>Teams</th>
  <th>Match</th>
  <th>Win</th>
  <th>Lose</th>
  <th>Points</th>
  </tr>
{% for match in matches %}


<tr>
  <td>
  <div style="width='100';height='20'"><img src="{{ match.team.image.url }}"></div>
  {{match.team}}
    </td>

  <td><div class="text-center">{{match.match_played}}</div></td>
  <td><div class="text-center">{{match.win}}</div></td>
  <td><div class="text-center">{{match.lose}}</div></td>
  <td><div class="text-center">{{match.points}}</div></td>

</tr>

{% endfor %}
</table>
</div>
</div>

{% endblock %}

Теперь это страница basket_score.html .

<!DOCTYPE html>
<html lang="en">
<head>
    <style>
        .horizontal { display: inline; background-color: lightgray; }
    </style>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Schedule</title>
  {% load static %}
  <!-- <link rel="stylesheet" href="{% static 'Schedule/css/bootstrap.css' %}" />
  <link rel="stylesheet" href="{% static 'Schedule/css/style.css' %}" /> -->

  {% block title %}

  {% endblock %}

  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

  <!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">

<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>


</head>
<body>

  {% block content %}

  {% endblock %}
</body>
<!-- <script src="{% static 'Schedule/js/calendar.js' %}"></script> -->
<!-- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> -->
<script>
  var csrf_token = '{{ csrf_token }}'
</script>
</html>

Теперь вышеприведенный код base.html , из которого я расширил basket_score.html . Поэтому, когда я нажимаю на кнопку Score Table , которая выводит меня на страницу basket_score.html, за исключением заголовка таблицы, который составляет th , ничего не отображается, то есть нет название команды и т. д. Теперь я добавляю соответствующий urls.py:

path('match/basketball_score/', views.BasketballScoreView.as_view(), name='basketball_score'),

Любая помощь будет оценена! :)

1 Ответ

0 голосов
/ 05 июля 2018

Убедитесь, что в вашей базе данных есть объекты BasketballScore.

...