Ich bin neu in django und ich habe ein Modell "album" welches 3 Dateien Titel, Genre und Bewertung hat und ich zeige sie ia Tabelle an und ich möchte die Ziffer "0" anzeigen so oft wie album.rating und ich verwende for loop von 0 bis album.rating, aber es wird nur einmal angezeigt, dh wenn album.rating 2 ist, dann sollte "0" nur 2 mal angezeigt werden, aber in meinem Fall wird nur angezeigt 1 Mal. Bitte helfen Sie mir. Danke im Voraus. HierIch möchte Bewertungssterne in django anzeigen
ist der Code, der HTML -
{% if albums %}
{% for album in albums %}
<tbody>
<tr>
<td>{{ album.album_title }}</td>
<td>{{ album.genre }}</td>
<!-- rating stars -->
<td>
{% for i in album.rating %}
<option value={{i}}>0</option>
{% endfor %}
</td>
<td>
<a href="{% url 'music:edit' album.id %}" class="btn btn-primary btn-sm" role="button">Edit</a>
</td>
<td>
</td>
</tr>
</tbody>
Hier wird der Code von view.py
def index(request):
if not request.user.is_authenticated():
return render(request, 'music/login.html')
else:
albums = Album.objects.filter(user=request.user)
paginator = Paginator(albums, 2) # Show 25 contacts per
page = request.GET.get('page')
try:
albums = paginator.page(page)
except PageNotAnInteger:
# If page is not an integer, deliver first page.
albums = paginator.page(1)
except EmptyPage:
# If page is out of range (e.g. 9999), deliver last page of results.
albums = paginator.page(paginator.num_pages)
song_results = Song.objects.all()
query = request.GET.get("q")
if query:
albums = albums.filter(
Q(album_title__icontains=query) |
Q(artist__icontains=query)
).distinct()
song_results = song_results.filter(
Q(song_title__icontains=query)
).distinct()
return render(request, 'music/index.html', {
'albums': albums,
'songs': song_results,
})
else:
return render(request, 'music/index.html', {'albums': albums})
Ist Ihr HTML-Inhalt korrekt? Sie haben '' ohne 'select' Element und könnten auch den vollständigen Block von' {% if albums%} 'für' {% endif%} 'bereitstellen ? –
Bitte posten Sie nicht, es funktioniert nicht in einer Frage. Stattdessen poste immer was du erwartest und was du hast – e4c5
@ e4c5 bitte beziehe mich auf meinen bearbeiteten Post und ich möchte die Zahl "0" so oft wie album.rating anzeigen und ich benutze for loop von 0 bis album.rating aber es wird nur einmal angezeigt, dh wenn das album.rating 2 ist, dann sollte "0" nur 2 mal angezeigt werden, aber in meinem Fall wird nur 1 mal angezeigt – user3923278