Ich habe eine Liste der Flugzeuge in browseaircraft.html angezeigt. Der Benutzer klickt auf den Titel und wird auf die Detailseite geleitet, zeigt jedoch nicht die Details dieses bestimmten Posts an, sondern alle Posts? Es gibt keine Fehlermeldung, aber es funktioniert nicht wie erwartetIn der Detailansicht werden keine Details zum Post angezeigt. Django
Modelle
class Aircraft(models.Model):
title = models.CharField(max_length=50, default="")
cost = models.DecimalField(max_digits=8, decimal_places=3)
range = models.IntegerField()
cruise_speed = models.IntegerField()
def get_absolute_url(self):
return reverse('aircraftdetail', kwargs={'pk': self.id})
Urls
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^aircraft', 'aircraft.views.browseaircraft', name='browseaircraft'),
url(r'^aircraftdetail/(?P<pk>\d+)/$', 'aircraft.views.aircraftdetail', name='aircraftdetail'),]
Ansichten
def browseaircraft(request):
all_aircraft = Aircraft.objects.all()
variables = {'all_aircraft':all_aircraft}
return render(request,'browseaircraft.html', variables)
def aircraftdetail(browseaircraft):
model = Aircraft
def aircraft_detail_view(request,pk):
try:
aircraft_id=Aircraft.objects.get(pk=pk)
except aircraft.DoesNotExist:
raise Http404("Book does not exist")
return render(request,'aircraft_detail.html',
context={'aircraft':aircraft_id,}
)
Browseaircraft.html
{% if all_aircraft%}
{% for a in all_aircraft %}
<img src="{{a.image.url}}"height="100" width="100">
<a href="{{ a.get_absolute_url }}"> {{ a.title }}</a>
{{ a.range }},
{{ a.body }},
{% endfor %}
aircraft_detail.html
{% block content %}
{% for a in all_aircraft %}
<h1>Title: {{ a.title }}</h1>
{{ a.cost }}
{{ a.range}}
{{ a.cost }}
{{ a.cruise_speed }}
{% endfor %}
{% endblock %}
Gibt es einen Grund, warum Sie meine vollkommen richtige Antwort ignoriert, wenn Sie diese identische Frage vor ein paar Tagen gefragt? –