简体   繁体   English

SQLAlchemy 如何在 Flask 中查询登录用户的数据库?

[英]SQLAlchemy how do I query database for logged in user in flask?

I have a SQLite database with a table in my models.py that shortened looks like this我有一个 SQLite 数据库,在我的 models.py 中有一个表,它缩短了看起来像这样

# models.py
class Buyers(db.Model, UserMixin):

    __tablename__ = 'buyers'

    id = db.Column(db.Integer, primary_key=True)
    usertype = db.Column(db.String(64))
    email = db.Column(db.String(64), unique=True, index=True, nullable=False)
    firstname = db.Column(db.String(64), index=True, nullable=False)

In my views.py, I have function that looks like this在我的 views.py 中,我有这样的功能

# view.py
@buyers_blueprint.route('/welcome')
@login_required
def welcome_user():
    user = Buyers.query.filter_by(firstname).first()
    return render_template('welcome.html', user=user)

I am trying to query the database in my view.py so I can send the firstname to an html page and dynamically update that users page.我试图在我的 view.py 中查询数据库,以便我可以将firstname发送到 html 页面并动态更新该用户页面。 I have importer the models.py into my views.py我将models.py导入我的views.py

How can I get the logged in user's name in a query so I can render it to my html?如何在查询中获取登录用户的名称,以便将其呈现到我的 html?

Thank you so much.非常感谢。

So, I think I figured it out.所以,我想我想通了。 If I import current_user from Flask_login , then I have access.如果我从Flask_login导入current_user ,那么我可以访问。 So, I can use:所以,我可以使用:

# view.py
@buyers_blueprint.route('/welcome')
@login_required
def welcome_user():
    user = current_user
    return render_template('welcome.html', user=user)

So, now I can just figure out how to give me first name only.所以,现在我可以弄清楚如何只给我名字。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM