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): """ Страница со всеми книгами, отсортированными по убыванию среднего рейтинга.