【发布时间】:2016-06-06 05:26:04
【问题描述】:
我是 django 的新手,我有一个模型“专辑”,它有 3 个文件标题、流派和评级,我在一张表中显示它们,我想显示数字“0”的次数与专辑评分一样多我正在使用从0到album.rating的for循环,但它只显示一次,即如果album.rating为2,那么“0”应该只显示2次,但在我的情况下它只显示1次。请帮助我。提前致谢。
这是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>
这里是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})
【问题讨论】:
-
你的html内容正确吗?你有
<option value={{i}}> {{i}}</option>没有select元素,你也可以提供{% if albums %}到{% endif %}的完整块吗? -
请不要在问题中发布它不起作用。相反,总是发布你所期望的和你得到的
-
@e4c5 请参考我编辑的帖子,我想显示数字“0”的次数与album.rating 一样多,我正在使用从0 到album.rating 的for 循环,但它只显示一次,即如果album.rating 为2,那么“0”应该只显示2 次,但在我的情况下它只显示1 次
-
@NagarajTantri 请参考我编辑的帖子,我想显示数字“0”的次数与album.rating 一样多,我正在使用从0 到album.rating 的for 循环,但它只显示一次,即如果album.rating 为2,那么“0”应该只显示2 次,但在我的情况下它只显示1 次
-
问题很可能出在您的数据中。您检查了 album.rating 实际包含的内容吗?