我开始学习Django,并且有一些问题:)这是views.py
from django.http import HttpResponse
from .models import Album
def index(request):
all_albums = Album.objects.all()
html = ''
for album in all_albums:
url = '/music/' + str(album.id) + '/'
html += '<a href ="' + url + '">' + album.album_title + '</a><br>'
return HttpResponse(html)
有班相册。这是models.py
from django.db import models
class Album(models.Model):
artist = models.CharField(max_length=250)
album_title = models.CharField(max_length=250)
genre = models.CharField(max_length=250)
我创建了两张专辑(例如“ Red”和“ Destiny”,我希望带有参考的专辑出现在页面http://127.0.0.1:8000/music/上。但是只有一张专辑“ Red”。我认为我的“ for”循环不起作用,但是我不明白为什么。希望您能理解我的问题。请帮助我,我想睡觉:)
无论如何,请以pythonic样式覆盖您的代码,这可能会有所帮助
def index(request):
all_albums = Album.objects.all()
html = []
for album in all_albums:
url = '/music/%s/' % album.id
html.append('<a href ="%s">%s</a><br>' % (url, album.album_title))
return HttpResponse(''.join(html))
有关详细信息,请阅读加入文档
并通过@BjörnKristinsson字符串参数的评论%
是较旧的方法,更好的解决方案是
def index(request):
all_albums = Album.objects.all()
html = []
for album in all_albums:
url = '/music/{id}/'.format(id=album.id)
html.append('<a href ="{url}">{title}</a><br>'.format(url=url, title=album.album_title))
return HttpResponse(''.join(html))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句