因此,我正在開發一個項目,顯示由數據庫中特定藝術家發佈的歌曲和歌曲以及專輯。我有點卡住了。我嘗試創建一個頁面,當您點擊相冊鏈接時,該頁面會顯示相冊中的歌曲。當點擊鏈接時,我希望URL顯示藝人的姓名和專輯的標題,但我一直得到相同的錯誤。它將專輯名稱與藝人名稱相匹配。Django中的URL conf問題
我如何使網頁顯示歌曲專輯。
以下是意見代碼
def home(request):
artistes = Artiste.objects.all()
return render(request, 'music/home.html', locals())
def details(request, artiste):
artistes = get_object_or_404(Artiste, name=artiste)
album = Artiste.objects.get(name=artiste).album_set.all()
single = Artiste.objects.get(name=artiste).song_set.filter(single=True)
return render(request, 'music/details.html', {'artistes': artistes, 'single': single, 'album':album})
def album_details(request,name,album):
albums = get_object_or_404(Album, title=album)
artistes = get_object_or_404(Artiste, name=name)
single = Album.objects.get(title=album).song_set.filter(single=False)
return render(request, 'music/album_detail.html', {'albums': albums, 'single': single})
URL模式
app_name = 'music'
urlpatterns = [
url(r'^$', views.home, name='home'),
url(r'^(?P<artiste>.+)/$', views.details, name='details'),
url(r'^(?P<name>.+)/(?P<album>.+)/$', views.album_details, name='album_details')
]
專輯詳情頁
<body>
{% if artistes.album_set.all %}
{% for songs in album %}
<h4>Albums</h4>
<!--<img src="{{album.art}}"><br>
-->
<a href="{% url 'music:album_details' songs.artiste songs.title %}">{{songs.title}}</a>
<h5>{{songs.artiste}}</h5>
<h5>{{songs.title}}</h5>
{% endfor %}
{% else %}
<h3>No albums available</h3>
<h5>Check Out Songs </h5>
<ul>
{% for song in artistes.song_set.all %}
<li>{{song}} - mp3</li>
{% endfor %}
</ul>
{% endif %}
</body>
</html>
錯誤記錄:albums = get_object_or_404(專輯,標題=專輯)不在URL中。 – Zartch
@ Zartch我如何糾正它? – HackAfro