Skip to content

Commit

Permalink
from home
Browse files Browse the repository at this point in the history
  • Loading branch information
pandaxcore committed May 22, 2024
1 parent 381c736 commit d7c14a2
Show file tree
Hide file tree
Showing 7 changed files with 41 additions and 19 deletions.
6 changes: 4 additions & 2 deletions acme_project/birthday/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,10 @@
app_name = "birthday"

urlpatterns = [
path("", views.birthday, name="create"),
path("list/", views.birthday_list, name="list"),
# path("", views.birthday, name="create"),
path('', views.BirthdayCreateView.as_view(), name='create'),
# path("list/", views.birthday_list, name="list"),
path("list/", views.BirthdayListView.as_view(), name="list"),
path("<int:pk>/edit/", views.birthday, name="edit"),
path('<int:pk>/delete/', views.delete_birthday, name='delete'),
]
54 changes: 37 additions & 17 deletions acme_project/birthday/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

from django.shortcuts import get_object_or_404, render, redirect
# Импортируем класс пагинатора.
from django.core.paginator import Paginator
# from django.core.paginator import Paginator
from django.views.generic import ListView, CreateView
from django.urls import reverse_lazy

from .forms import BirthdayForm
from .models import Birthday
Expand Down Expand Up @@ -41,23 +43,41 @@ def birthday(request, pk=None):
return render(request, "birthday/birthday.html", context)


def birthday_list(request):
"""Docstring."""
# Получаем список всех объектов с сортировкой по id.
birthdays = Birthday.objects.order_by('id')
# Создаём объект пагинатора с количеством 10 записей на страницу.
paginator = Paginator(birthdays, 10)
class BirthdayCreateView(CreateView):
model = Birthday
# Указываем имя формы:
form_class = BirthdayForm
template_name = 'birthday/birthday.html'
success_url = reverse_lazy('birthday:list')


# def birthday_list(request):
# """Docstring."""
# # Получаем список всех объектов с сортировкой по id.
# birthdays = Birthday.objects.order_by('id')
# # Создаём объект пагинатора с количеством 10 записей на страницу.
# paginator = Paginator(birthdays, 2)

# # Получаем из запроса значение параметра page.
# page_number = request.GET.get('page')
# # Получаем запрошенную страницу пагинатора.
# # Если параметра page нет в запросе или его значение не приводится к числу,
# # вернётся первая страница.
# page_obj = paginator.get_page(page_number)
# # Вместо полного списка объектов передаём в контекст
# # объект страницы пагинатора
# context = {'page_obj': page_obj}
# return render(request, 'birthday/birthday_list.html', context)


# Получаем из запроса значение параметра page.
page_number = request.GET.get('page')
# Получаем запрошенную страницу пагинатора.
# Если параметра page нет в запросе или его значение не приводится к числу,
# вернётся первая страница.
page_obj = paginator.get_page(page_number)
# Вместо полного списка объектов передаём в контекст
# объект страницы пагинатора
context = {'page_obj': page_obj}
return render(request, 'birthday/birthday_list.html', context)
# Наследуем класс от встроенного ListView:
class BirthdayListView(ListView):
# Указываем модель, с которой работает CBV...
model = Birthday
# ...сортировку, которая будет применена при выводе списка объектов:
ordering = 'id'
# ...и даже настройки пагинации:
paginate_by = 2


def delete_birthday(request, pk):
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed acme_project/media/birthdays_images/image_1.png
Binary file not shown.

0 comments on commit d7c14a2

Please sign in to comment.