#python #django #django-views #django-templates #django-urls
#python #django #django-просмотры #django-шаблоны #django-urls
Вопрос:
у меня есть два разбиения на страницы: первый находится на странице «Мои статьи», а второй — на странице, которая классифицирует статьи на основе их категорий. первый работает хорошо, но когда я перехожу к статьям для указанной категории, я вижу, что мой pageinator не работает. Я заранее признателен; #views.py
from django.core.paginator import Paginator
from django.shortcuts import render, get_object_or_404
from django.http import HttpResponse, JsonResponse, Http404
from .models import Article, Category
# Create your views here.
def home(request):
context = {
"articles": Article.objects.published()
}
return render(request, 'website/home.html', context)
def detail(request, slug):
context = {
"article": get_object_or_404(Article.objects.published(), slug=slug)
}
return render(request, 'website/detail.html', context)
def article(request, page=1):
articles_list = Article.objects.published()
paginator = Paginator(articles_list, 1)
articles = paginator.get_page(page)
context = {
"articles": articles,
"category": Category.objects.filter(status=True)
}
return render(request, 'website/article.html', context)
def category(request, slug, page_cat=1):
cat = get_object_or_404(Category, slug=slug, status=True)
articles_cat = cat.articles.filter(status='Published')
paginator_cat = Paginator(articles_cat, 1)
cat_articles = paginator_cat.get_page(page_cat)
context = {
"category": cat_articles
}
return render(request, 'website/category.html', context)
######Мой category.html файл
<div class="blog-pagination">
<ul class="justify-content-center">
{% if cat_articles.has_previous %}
<li><a
href="{% url 'website:category' cat_articles.previous_page_number %}">
<i class="icofont-rounded-left"
></i></a></li>
{% endif %}
<li><a href="#">1</a></li>
<li class="#"><a href="#">2</a></li>
<li><a href="#">3</a></li>
{% if cat_articles.has_next %}
<li><a href="{% url 'website:category' cat_articles.next_page_number %}">
<i class="icofont-rounded-right"
></i></a></li>
{% endif %}
</ul>
</div>
###############
Мой urls.py
from django.urls import path
from .views import home, detail, article, category
app_name = 'website'
urlpatterns = [
path('', home, name='home'),
path('article/<int:page>', article, name='article'),
path('article/<slug:slug>', detail, name='detail'),
path('article', article, name='article'),
path('category/<int:page_cat>', category, name='category'),
path('category/<slug:slug>', category, name='category')
]
Комментарии:
1. Что вы подразумеваете под «не работает»? Не работает каким образом?
2. Я следовал той же инструкции, но не вижу ни рабочей кнопки, ни точной ссылки