@main.route('/about')
def user():
return '<h1>Hello,%s</h1>' %user.email;
@main.route('/about/<username>')
def user(username):
user = User.query.filter_by(username=username).first();
return '<h1>Hello,%s</h1>' %user.email;
我可以从会话或浏览器cookie中获取用户名吗?所以我可以设置路由简洁。我该怎么办?
答案 0 :(得分:1)
是的,如果您在会话中存储用户名,则只能使用flask's capabilities(请参阅登录和注销部分)。这可以在登录页面上完成,即:
@main.route('/login')
def login():
...
session["username"] = loggedin_username;
@main.route('/about')
def user():
if 'username' in session:
return '<h1>Hello,%s</h1>' % session["username"];
return '<h1>Hello, Anonymous</h1>';
您还可以参考flask-login docs以便如何在登录对象中保留用户名,这比将其保留在会话对象中更安全。