如何解决分页错误?

2024-10-04 05:33:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我的django版本是2.1:

从纯分页导入分页器、空页、分页器

这是我的django代码:

def get(self,request):

    if request.user.is_authenticated:
        all_Articles = UserArticle.objects.all()
        try:
            current_page = request.GET.get('page',1)
        except PageNotAnInteger:
            current_page = 1
        p = Paginator(all_Articles,2,request=request)
        Articles = p.page(current_page)
        return render(request, "user_blog-show.html",{"Articles":Articles})
    else:
        pass

在我的html代码中:

<ul class="pagination">
    {% if Articles.has_previous %}
        <li><a href="?{{ Articles.previous_page_number.querystring }}">前一页</a></li>
    {% endif %}

    {% for page in Articles.pages %}
        {% if page %}
            {% ifequal page Articles.number %}
                <li class="active"><a href="{{ page.querystring }}">{{ page }}</a></li>
            {% else %}
                <li ><a href="?{{ page.querystring }}" >{{ page }}</a></li>
            {% endifequal %}
        {% else %}
            <li><a href="">...</a></li>
        {% endif %}
    {% endfor %}

    {% if Articles.has_next %}
        <li><a href="?{{ Articles.next_page_number.querystring }}">下一页</a></li>
    {% endif %}
</ul>

这是一个错误:

Traceback (most recent call last):
  File "C:\Users\Chrisiven\Envs\quwen_blog\lib\site-packages\django\core\handlers\exception.py", line 34, in inner
    response = get_response(request)
  File "C:\Users\Chrisiven\Envs\quwen_blog\lib\site-packages\django\core\handlers\base.py", line 126, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "C:\Users\Chrisiven\Envs\quwen_blog\lib\site-packages\django\core\handlers\base.py", line 124, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\Users\Chrisiven\Envs\quwen_blog\lib\site-packages\django\views\generic\base.py", line 68, in view
    return self.dispatch(request, *args, **kwargs)
  File "C:\Users\Chrisiven\Envs\quwen_blog\lib\site-packages\django\views\generic\base.py", line 88, in dispatch
    return handler(request, *args, **kwargs)
  File "W:\quwen\quwen_blog\blog\views.py", line 61, in get
    Articles = p.page(current_page)
  File "C:\Users\Chrisiven\Envs\quwen_blog\lib\site-packages\pure_pagination\paginator.py", line 54, in page
    return Page(self.object_list[bottom:top], number, self)
  File "C:\Users\Chrisiven\Envs\quwen_blog\lib\site-packages\pure_pagination\paginator.py", line 129, in __init__
    self.number = PageRepresentation(number, self._other_page_querystring(number))
  File "C:\Users\Chrisiven\Envs\quwen_blog\lib\site-packages\pure_pagination\paginator.py", line 206, in _other_page_querystring
    return self.base_queryset.urlencode()
  File "C:\Users\Chrisiven\Envs\quwen_blog\lib\site-packages\django\http\request.py", line 524, in urlencode
    for v in list_
  File "C:\Users\Chrisiven\Envs\quwen_blog\lib\site-packages\django\http\request.py", line 524, in <genexpr>
    for v in list_
AttributeError: 'int' object has no attribute 'encode'

调试时,错误显示在p.page(当前)中。 it错误:

AttributeError: 'int' object has no attribute 'encode'

天哪,我不知道怎么解决,请帮帮我。朋友们


Tags: inpyrequestliblinepagesiteblog
1条回答
网友
1楼 · 发布于 2024-10-04 05:33:41
Try code below:

def get(self,request):

        if request.user.is_authenticated:
            all_Articles = UserArticle.objects.all()
            try:
                current_page = request.GET.get('page',1)
            except PageNotAnInteger:
                current_page = 1
            paginator = Paginator(all_Articles,2) <  edit
            Articles = paginator.get_page(current_page) < edit
            return render(request, "user_blog-show.html",{"Articles":Articles})
        else:
            pass


<ul class="pagination">
    {% if Articles.has_previous %}
        <li><a href="?{{ Articles.previous_page_number }}">前一页</a></li>
    {% endif %}
    {% for page in Articles.pages %}
        {% if page %}
            {% ifequal page Articles.number %}
                <li class="active"><a href="{{ page }}">{{ page }}</a></li>
            {% else %}
                <li><a href="?{{ page }}">{{ page }}</a></li>
            {% endifequal %}
        {% else %}
            <li><a href="">...</a></li>
        {% endif %}
    {% endfor %}
    {% if Articles.has_next %}
        <li><a href="?{{ Articles.next_page_number }}">下一页</a></li>
    {% endif %}
</ul>

相关问题 更多 >