Django Streaming

Я только начал работать с django и хочу сделать клон spotify. Я хочу сделать так, чтобы при нажатии на альбом показывались песни для этого альбома.

вот мой models.py

from django.db import models

    class album(models.Model):
        title = models.CharField(max_length=50)
        artist = models.IntegerField()
        genre = models.CharField(max_length=20)
        id = models.AutoField(primary_key=True)
        artwork = models.CharField(max_length=1000)
    
    
    class artist(models.Model):
        name = models.CharField(max_length=50)
        id = models.AutoField(primary_key=True)
    
    class song(models.Model):
        name = models.CharField(max_length=60)
        artist = models.IntegerField()
        album = models.IntegerField()
        id = models.AutoField(primary_key=True)

Это мой views.py

from django.shortcuts import render
from .models import album, song

def home(request):
    context = {
        'albums': album.objects.all(),

       
    }
    return render(request, 'main/index.html', context) 

Спасибо

Для конкретного album, для которого нажата кнопка, или для всех albums, пожалуйста, уточните свой вопрос.

Ну, это достигается через фронтенд с помощью dropdowns и многих других компонентов, или просто перенаправлением на другую страницу, которая покажет соответствующие альбомы.

Просмотр django, если вам нужно просмотреть все альбомы, то вы поступаете правильно.

Но если вы видите определенный album при нажатии, то вы должны передать этот album's id или name, или вы можете передать все, что является уникальным.

urls.py

path('particular-album/<int:id>/,views.particular_album,name='particular')

Html файл

{% for album in albums %}
<a href="{% url 'particular' album.id %}">see particular album</a>

Views.py

def particular_album(req,id):
    one_album=album.objects.get(id=id)
    return render(req,"main/particular.html",{'one':one_album})

Тогда в вашем template файле без выполнения цикла вы сможете получить все свойства этого объекта.

Вернуться на верх