0

在我使用 flask-migrate 和 Alembic 的烧瓶应用程序中,我得到了这个 URL“/user/1?sort=ascmonkey=< flask_sqlalchemy.Pagination+object+at+0x7f6a8077ea10 >”,而这部分是额外的 < flask_sqlalchemy.Pagination+object +at+0x7f6a8077ea10 > 它是从哪里来的,我怎样才能摆脱它?谢谢

查看.py:

@layout.route('/user/<int:page>', methods = ['GET', 'POST'])
def user(page=1, sort='normal'):
    user = g.user
    #condition to sort base on ascending
    if request.args.get('sort') =='asc':
            sortBy = 'asc'
            monkey = Users.query.order_by(Users.name.asc()).paginate(page, MONKEYS_PAGE)
MONKEYS_PAGE)
 return render_template('Users.html',
            user = user,
            title ='Home',
            monkey = monkey,
            sortBy = sortBy
            )

用户.html

   <div class="text-right sortby">
   <span>Sort by</span>
   <a href="{{ url_for('layout.user', page = '1', sort = 'asc', monkey = monkey) }}" class="btn btn-default btn-xs">
     <span class="glyphicon glyphicon-sort-by-alphabet"></span>
     name
   </a>

   <a href="{{ url_for('layout.user', page = '1', sort = 'friendnum', monkey = monkey) }}" class="btn btn-default btn-xs">
     <span class="glyphicon glyphicon-link"></span>
     number of friends
   </a>
   <a href="{{ url_for('layout.user', page = '1', sort = 'bf', monkey = monkey) }}" class="btn btn-default btn-xs">
     <span class="glyphicon glyphicon-link"></span>
     name of best friends
   </a>
 </div>
4

1 回答 1

0

monkey是基于您显示的查询的分页用户列表。实际用户存储在monkey.items一个列表中。根据您所展示的内容,您要么想要遍历这些项目以生成单独的 url,要么您打算monkey成为一个用户而不是分页列表。现在你正在做一些事情url_for('user', monkey=monkey),所以 Flask 将分页对象的字符串表示放入查询参数中。

于 2015-02-25T18:04:17.647 回答