From c415d260017ec29f8313102372b9bb2b000c8820 Mon Sep 17 00:00:00 2001 From: Arity-T Date: Thu, 16 Jan 2025 19:04:14 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=20=D0=9C?= =?UTF-8?q?=D0=BE=D0=B8=20=D0=BA=D0=BD=D0=B8=D0=B3=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bookify/books/templates/books/base.html | 2 ++ bookify/books/templates/books/my_books.html | 11 +++++++++++ bookify/books/urls.py | 1 + bookify/books/views.py | 7 +++++++ 4 files changed, 21 insertions(+) create mode 100644 bookify/books/templates/books/my_books.html diff --git a/bookify/books/templates/books/base.html b/bookify/books/templates/books/base.html index b0657ba..9827d65 100644 --- a/bookify/books/templates/books/base.html +++ b/bookify/books/templates/books/base.html @@ -14,8 +14,10 @@ Рейтинг книг Список книг Список жанров + | {% if user.is_authenticated %} Добавить книгу + Мои книги | {{ user.username }} Выйти diff --git a/bookify/books/templates/books/my_books.html b/bookify/books/templates/books/my_books.html new file mode 100644 index 0000000..860c9b0 --- /dev/null +++ b/bookify/books/templates/books/my_books.html @@ -0,0 +1,11 @@ +{% extends 'books/base.html' %} +{% block content %} +

Мои книги

+
+ {% for book in books %} + {% include 'books/_book_item.html' %} + {% empty %} +

У вас нет добавленных книг.

+ {% endfor %} +
+{% endblock %} diff --git a/bookify/books/urls.py b/bookify/books/urls.py index 47b5e71..6a4274e 100644 --- a/bookify/books/urls.py +++ b/bookify/books/urls.py @@ -26,4 +26,5 @@ urlpatterns = [ path("book//edit/", views.edit_book, name="edit_book"), path("review//edit/", views.edit_review, name="edit_review"), path("rating/", views.books_rating, name="books_rating"), + path("my-books/", views.my_books, name="my_books"), ] diff --git a/bookify/books/views.py b/bookify/books/views.py index 8e72d6b..42f0c0d 100644 --- a/bookify/books/views.py +++ b/bookify/books/views.py @@ -26,6 +26,13 @@ def logout(requst): return render(requst, "accounts/logout.html") +@login_required +def my_books(request): + """Список книг, добавленных текущим пользователем.""" + books = Book.objects.filter(created_by=request.user) + return render(request, "books/my_books.html", {"books": books}) + + def books_rating(request): """ Страница со всеми книгами, отсортированными по убыванию среднего рейтинга.