gpt4 book ai didi

python - Flask 分页问题

转载 作者:行者123 更新时间:2023-12-01 06:30:25 25 4
gpt4 key购买 nike

我在页面上有一个循环 jinja block ,我想对其进行分页。我正在关注this教程,但我得到“TypeError: count() 仅接受一个参数(给定 0)。”我认为问题在于传递 home_data 信息,但我不知道该怎么做。这是我的 .py:

from flask import Blueprint
from flask_paginate import Pagination, get_page_parameter

mod = Blueprint('home_data', __name__)

@app.route('/')
def home():

search = False
q = request.args.get('q')
if q:
search = True

page = request.args.get(get_page_parameter(), type=int, default=1)
home_data = Article.query.all()
pagination = Pagination(page=page, total=home_data.count(), search=search, record_name='home_data')


return render_template('home.html', home_data=Article.query.all(), pagination=pagination,)

HTML:

<!DOCTYPE html>
<html>
<head>
<title>Home</title>
</head>

<body>

{{ pagination.info }}
{{ pagination.links }}

{% for dict_item in home_data|reverse %}

<!--<a href="results/{{ dict_item['id'] }}">-->

<div class="photo">
<img src="{{ dict_item['image_url'] }}" width="100%">
</div>
<div class="hometitlesstyle">{{ dict_item['title'] }}</div>
<div class="voteorresult"><a href="votefor/{{ dict_item['id'] }}">Vote</a></div>
<div class="resultbox"><a href="results/{{ dict_item['id'] }}">Results</a></div>

<hr class="new1">
{% endfor %}

{{ pagination.links }}

</body>
</html>

最佳答案

home_data = Article.query.all() 中,all() 将查询转换为 Python 列表。使用 home_data = Article.query 将其保留为查询。这样 count() 适用于查询,而不是列表。

或者使用

home_data = Article.query.all()
pagination = Pagination(page=page, total=len(home_data), search=search, record_name='home_data')

关于python - Flask 分页问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59937410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com