占据最后20条记录并显示最后一次注册

时间:2018-03-10 19:31:56

标签: python flask flask-sqlalchemy flask-mysql

所以我有一个问题,我不知道如何找他。

@app.route('/',methods=['GET', 'POST'])
def index():
    if current_user.is_authenticated:
        current_user.update_on = datetime.utcnow()
        db.session.add(current_user)
        db.session.commit()
    username = db.session.query(User.username,User.avatar).order_by(User.username,User.avatar).limit(20).all()
    nicks = [x[0]for x in username]
    base = 'http://localhost:5000/profil'
    urls = ['{}/{}'.format(base,n)for n in nicks]
    return render_template("index.html",user = username,urls=urls,nicks=nicks)

这是我在app.py中的代码,所以我想从mysql中获取最后20条记录,并在html中显示最后的记录。最后注册用户将首先显示,prelast是第二...但在HTML中显示随机用户。
我的HTML文件:

<a href="{{urls[0] }}"><img class="img-responsive" src="{{url_for('static',filename='upload/'+ user[0].avatar|resize('40x40'))}}" alt="{{nicks[0]}}"></a>
        <a href="{{urls[1] }}"><img class="img-responsive" src="{{url_for('static',filename='upload/'+ user[1].avatar|resize('40x40'))}}" alt="{{nicks[1]}}"></a>
        <a href="{{urls[2] }}"><img class="img-responsive" src="{{url_for('static',filename='upload/'+ user[2].avatar|resize('40x40'))}}" alt="{{nicks[2]}}"></a>

我不知道如何修复此错误,有人可以帮助我吗?或者只是给我一个提示?我上周开始学习编程

我和sqlalchemy.exc.OperationalError (2013, 'Lost connection to MySQL server during query')的另一个问题是快速结束连接,比如2分钟并看到错误

DATABASE_URI = 'mysql://{}:{}@{}:{}/kamilos98'.format(config['user'], config['password'],config['host'], config['port'])
app.config['SQLALCHEMY_DATABASE_URI'] = DATABASE_URI
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True

1 个答案:

答案 0 :(得分:0)

此:

username = db.session.query( \
    User.username,User.avatar).order_by(User.username,User.avatar).limit(20).all()

按用户名和头像排序。将其更改为:

username = db.session.query( \
    User.username,User.avatar).order_by(User.update_on.desc(),User.username).limit(20).all()

按照上次更新时间排序。