Добавил черновой вариант пагинации и переделал шаблоны
This commit is contained in:
@@ -2,25 +2,23 @@
|
||||
|
||||
<link rel="stylesheet" href="{% static 'css/album_list.css' %}">
|
||||
|
||||
<div class="container">
|
||||
<div class="album-container">
|
||||
{% for album in albums %}
|
||||
<div class="album-card">
|
||||
<a href="{% url 'music:album_detail' album.id %}" class="album-link">
|
||||
{% if album.cover_image %}
|
||||
<img src="{{ album.cover_image.url }}" alt="{{ album.name }}" class="album-cover">
|
||||
{% else %}
|
||||
<img src="{% static 'img/no-cover.png' %}" alt="No cover" class="album-cover">
|
||||
{% endif %}
|
||||
<div class="album-container">
|
||||
{% for album in albums %}
|
||||
<div class="album-card">
|
||||
<a href="{% url 'music:album_detail' album.id %}" class="album-link">
|
||||
{% if album.cover_image %}
|
||||
<img src="{{ album.cover_image.url }}" alt="{{ album.name }}" class="album-cover">
|
||||
{% else %}
|
||||
<img src="{% static 'img/no-cover.png' %}" alt="No cover" class="album-cover">
|
||||
{% endif %}
|
||||
|
||||
<div class="album-info">
|
||||
<h3 class="album-name">{{ album.name }}</h3>
|
||||
<p class="album-artist">{{ album.artist }}</p>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
{% empty %}
|
||||
<p>No albums available.</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div class="album-info">
|
||||
<h3 class="album-name">{{ album.name }}</h3>
|
||||
<p class="album-artist">{{ album.artist }}</p>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
{% empty %}
|
||||
<p>No albums available.</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
@@ -2,26 +2,24 @@
|
||||
|
||||
<link rel="stylesheet" href="{% static 'css/artist_list.css' %}">
|
||||
|
||||
<div class="container">
|
||||
<div class="artist-container">
|
||||
{% for artist in artists %}
|
||||
<div class="artist-card">
|
||||
<a href="{% url 'music:artist_detail' artist.id %}" class="artist-link">
|
||||
<div class="artist-container">
|
||||
{% for artist in artists %}
|
||||
<div class="artist-card">
|
||||
<a href="{% url 'music:artist_detail' artist.id %}" class="artist-link">
|
||||
|
||||
{% if artist.cover_image %}
|
||||
<img src="{{ artist.cover_image.url }}" alt="{{ artist.name }}" class="artist-photo">
|
||||
{% else %}
|
||||
<img src="{% static 'img/no-artist.png' %}" alt="No photo" class="artist-photo">
|
||||
{% endif %}
|
||||
{% if artist.cover_image %}
|
||||
<img src="{{ artist.cover_image.url }}" alt="{{ artist.name }}" class="artist-photo">
|
||||
{% else %}
|
||||
<img src="{% static 'img/no-artist.png' %}" alt="No photo" class="artist-photo">
|
||||
{% endif %}
|
||||
|
||||
<div class="artist-info">
|
||||
<h3 class="artist-name">{{ artist.name }}</h3>
|
||||
</div>
|
||||
<div class="artist-info">
|
||||
<h3 class="artist-name">{{ artist.name }}</h3>
|
||||
</div>
|
||||
|
||||
</a>
|
||||
</div>
|
||||
{% empty %}
|
||||
<p>No artists available.</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
{% empty %}
|
||||
<p>No artists available.</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
11
music_storage/templates/components/pagination.html
Normal file
11
music_storage/templates/components/pagination.html
Normal file
@@ -0,0 +1,11 @@
|
||||
{% if page_obj.has_previous %}
|
||||
<a href="?page={{ page_obj.previous_page_number }}">← Назад</a>
|
||||
{% endif %}
|
||||
|
||||
<span>
|
||||
Страница {{ page_obj.number }} из {{ page_obj.paginator.num_pages }}
|
||||
</span>
|
||||
|
||||
{% if page_obj.has_next %}
|
||||
<a href="?page={{ page_obj.next_page_number }}">Вперёд →</a>
|
||||
{% endif %}
|
||||
@@ -1,23 +1,22 @@
|
||||
{% load static %}
|
||||
|
||||
<link rel="stylesheet" href="{% static 'css/track_list.css' %}">
|
||||
<div class="container">
|
||||
<ul class="track-list">
|
||||
{% if tracks %}
|
||||
{% for track in tracks %}
|
||||
<li class="track-item" data-track-id="{{ track.id }}" data-track-src="{{ track.file.url }}">
|
||||
<div class="track-info">
|
||||
<h3 class="track-title">{{ track.title }}</h3>
|
||||
<p class="track-artist">Исполнитель: {{ track.album.artist }}</p>
|
||||
</div>
|
||||
</li>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<div class="empty-state">
|
||||
<i class="fas fa-music"></i>
|
||||
<p>Нет добавленных треков</p>
|
||||
|
||||
<ul class="track-list">
|
||||
{% if tracks %}
|
||||
{% for track in tracks %}
|
||||
<li class="track-item" data-track-id="{{ track.id }}" data-track-src="{{ track.file.url }}">
|
||||
<div class="track-info">
|
||||
<h3 class="track-title">{{ track.title }}</h3>
|
||||
<p class="track-artist">Исполнитель: {{ track.album.artist }}</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
{% include 'components/player.html' %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<div class="empty-state">
|
||||
<i class="fas fa-music"></i>
|
||||
<p>Нет добавленных треков</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -3,5 +3,8 @@
|
||||
|
||||
{% block content %}
|
||||
<h1>Album List</h1>
|
||||
{% include 'components/album_list.html' with albums=albums %}
|
||||
<div class="container">
|
||||
{% include 'components/album_list.html' %}
|
||||
{% include 'components/pagination.html' %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -3,5 +3,8 @@
|
||||
{% block title %}Artist List{% endblock %}
|
||||
{% block content %}
|
||||
<h1>Artist List</h1>
|
||||
{% include 'components/artist_list.html' with artists=artists %}
|
||||
<div class="container">
|
||||
{% include 'components/artist_list.html' with artists=artists %}
|
||||
{% include 'components/pagination.html' with page_obj=page_obj %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
{% extends 'base.html' %}
|
||||
|
||||
{% block content %}
|
||||
{% include 'components/track_list.html' %}
|
||||
<div class="container">
|
||||
{% include 'components/track_list.html' %}
|
||||
{% include 'components/pagination.html' %}
|
||||
{% include 'components/player.html' %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
Reference in New Issue
Block a user