Ich erstelle eine Fußball-Website in Django und habe ein Problem festgestellt. Momentan sind meine Homepage und die Spielerseite in verschiedenen Apps. Ich habe die Fixture-Seite, so dass sie die Fixtures anzeigt, die von der Admin-Seite hinzugefügt wurden. Ich möchte den nächsten kommenden Artikel auf der Homepage einfügen, habe aber Probleme beim Importieren der Daten.Django Football Fixtures
Derzeit meine Leuchten/models.py Datei sieht wie folgt aus
from django.db import models
from django.utils import timezone
class Fixture(models.Model):
author = models.ForeignKey('auth.User')
opponents = models.CharField(max_length=200)
match_date = models.DateTimeField(
blank=True, null=True)
def publish(self):
self.match_date = timezone.now()
self.save()
def __str__(self):
return self.opponents
und meine Armaturen/views.py sieht aus wie
from django.shortcuts import render_to_response
from django.utils import timezone
from fixtures.models import Fixture
def games(request):
matches = Fixture.objects.filter(match_date__gte=timezone.now()).order_by('match_date')
return render_to_response('fixtures/games.html', {'matches':matches
})
My home/models.py wie folgt aussieht:
from django.utils import timezone
from django.db import models
from fixtures.models import Fixture
class First(models.Model):
firstfixture = models.ForeignKey('fixtures.Fixture')
und home/views.py:
from django.utils import timezone
from home.models import First
def index(request):
matches = First.objects.all()
return render_to_response('home/index.html', {'matches':matches
})
Ich habe viele Kombinationen für meine for-Schleife ausprobiert, aber nichts zeigt die erforderlichen Informationen an. Meine for-Schleife, die für die Fixtures-App funktioniert, ist (in HTML);
{% for fixture in matches %}
<div>
<p>Vs {{ fixture.firstfixture.opponents }} - {{ fixture.firstfixture.match_date }}</p>
</div>
{% endfor %}
Vielen Dank im Voraus
Siehe Bearbeiten; "Erste" Instanzen haben keine "Gegner" oder "Match_Datum" -Attribute; Sie müssen auf die zugehörige Fixture-Instanz zugreifen, wie oben gezeigt. –
Es tut uns leid, immer noch keine Änderung –
Achten Sie auch darauf, 'matches.all' in der Vorlage nicht aufzurufen; Verwenden Sie stattdessen "Übereinstimmungen". Sie greifen auf ein Queryset erster Instanzen zu. –