老师,这个分页有BUG
来源:10-3 .电影搜索-搜索分页
戴晶kyle
2017-12-20
当搜索“死”字的时候(假设有两条记录),第一条记录url:http://127.0.0.1:5000/search/1/?key=%E6%AD%BB;
此时点击下一页,应该跳转到http://127.0.0.1:5000/search/2/?key=%E6%AD%BB,然而老师的方法实际是跳转到http://127.0.0.1:5000/search/2/,并不对应,请问该如何解决?
电影搜索 @home.route('/search/<int:page>/') @user_login_req def search(page=None): if page is None: page=1 key=request.args.get('key','') movie_count=Movie.query.filter( Movie.title.ilike('%'+key+'%')).count() page_data=Movie.query.filter( Movie.title.ilike('%'+key+'%') ).order_by(Movie.addtime.desc()).paginate(page=page,per_page=1) return render_template('home/search.html',key=key,page_data=page_data,movie_count=movie_count)
{% extends 'home/home.html' %} {% import 'ui/home_page.html' as pg %} {% block content %} <div class="row"> <div class="col-md-12"> <ol class="breadcrumb" style="margin-top:6px;"> <li>与"{{key}}"有关的电影,共{{movie_count}}部</li> </ol> </div> <div class="col-md-12"> {% for v in page_data.items %} <div class="media"> <div class="media-left"> <a href="play.html"> <img class="media-object" style="width:131px;height:83px" src="{{url_for('static',filename='uploads/')+v.logo}}" alt="{{v.title}}"> </a> </div> <div class="media-body"> <h4 class="media-heading">{{v.title}}<a href="{{url_for('home.play')}}" class="label label-primary pull-right"><span class="glyphicon glyphicon-play"></span>播放影片</a></h4> {{v.info}} </div> </div> {% endfor %} </div> <div class="col-md-12 text-center"> {{pg.page(page_data,'home.search')}} </div> </div> {% endblock %}
写回答
1回答
-
rustgopy
2017-12-25
同学,你好,这是flask-sqlalchemy分页设计的功能,当有多页的时候中间的一些按钮就会隐藏,你可以加上如下admin_page.html中判断:
{% for v in data.iter_pages() %} {% if v %} {% if v != data.page %} <li ><a href="{{ url_for(url,page=v) }}">{{ v }}</a></li> {% else %} <li class="active"><a href="#">{{ v }}</a></li> {% endif %} {% endif %} {% endfor %}
012018-12-11
相似问题