-2

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

@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
4

1 回答 1

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()

而是在上次更新时间之前订购它们。

于 2018-03-10T19:38:52.490 回答