Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 第23行的模板标记格式不正确:";其他(页码>;主题。编号添加:&&x27;-3&&x27;)和(页码<;主题。编号添加:&&x27;3&&x27;)”;_Python_Django - Fatal编程技术网

Python 第23行的模板标记格式不正确:";其他(页码>;主题。编号添加:&&x27;-3&&x27;)和(页码<;主题。编号添加:&&x27;3&&x27;)”;

Python 第23行的模板标记格式不正确:";其他(页码>;主题。编号添加:&&x27;-3&&x27;)和(页码<;主题。编号添加:&&x27;3&&x27;)”;,python,django,Python,Django,我使用以下基于函数的视图创建分页。此视图中没有错误,但我在模板中使用上下文的方式特别在我在模板中添加{%else page_num>主题时产生问题。编号| add:'-3'和page_numtopics.number | add:'-3'和page_num

我使用以下基于函数的视图创建分页。此视图中没有错误,但我在模板中使用上下文的方式特别在我在模板中添加
{%else page_num>主题时产生问题。编号| add:'-3'和page_num

视图.py

def board_topics(request, pk):
    board = get_object_or_404(Board, pk=pk)
    queryset = board.topics.annotate(replies_count=Count('posts') - 1).order_by(
        '-last_updated')
    page = request.GET.get('page', 1)
    paginator = Paginator(queryset, 10)

    try:
        topics = paginator.page(page)
    except PageNotAnInteger:
        topics = paginator.page(1)
    except EmptyPage:
        topics = paginator.page(paginator.num_pages)

    return render(request, 'board/board_topics.html', {'board': board, 'topics': topics})
以及
模板
此处:

    {% for page_num in topics.paginator.page_range %}
    {% if topics.number == page_num %}
            {{ page_num }}
    {% else page_num > topics.number|add:'-3' and page_num < topics.number|add:'3' %}
        <a class="page-link" href="?page={{ page_num }}">{{ page_num }}</a>
    {% endif %}
    {% endfor %}
{topics.paginator.page\u range%}
{%if topics.number==page_num%}
{{page_num}}
{%else page_num>topics.number | add:'-3'和page_num
如果在模板中,我用
{%else%}
替换
{%else%}主题.number | add:'-3'和page | num
,效果非常好,但我需要第一个,因为如果有数千个主题,我不想在我的页面上显示成吨的页码


你能帮我解决这个问题吗。谢谢您

在您的模板中,您为
else
提供了条件,该条件不起作用,因为它只执行
if
不满足的内容

else语句包含在if语句中的条件表达式解析为0或FALSE值时执行的代码块。else语句是一个可选语句,if后面最多只能有一个else语句

所以您需要在这里使用
{%elif%}

模板

{% for page_num in topics.paginator.page_range %}
{% if topics.number == page_num %}
        {{ page_num }}
{% elif page_num > topics.number|add:'-3' and page_num < topics.number|add:'3' %}
    <a class="page-link" href="?page={{ page_num }}">{{ page_num }}</a>
{% endif %}
{% endfor %}
{% for page_num in topics.paginator.page_range %}
{% if topics.number == page_num %}
        {{ page_num }}
{% endif %}
{% if page_num > topics.number|add:'-3' and page_num < topics.number|add:'3' %}
    <a class="page-link" href="?page={{ page_num }}">{{ page_num }}</a>
{% endif %}
{% endfor %}