[英]Flask - how to read request.files['image'] as base64?
[英]How store a base64 image into user session in Flask
美好的一天。 我從Python中的Flask開始。 一切正常,但是我在會議上遇到了問題。 這個想法是在用戶登錄后將用戶的base64頭像存儲到他的會話中。然后,在布局中,通過<img src="data:image/png;base64,{{session.user.photo}}" />
。
問題出在我登錄時,將base64放入會話中並重定向到/home
。 在/home
路由中,我有一個簡單的訪問控制,如果會話沒有用戶密鑰,請重定向以再次登錄 。 問題在於設置會話並重定向到home之后,該會話在/ home中為空,並且從不呈現模板。
@root.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'GET':
if 'user' in session:
return redirect('/home')
else:
return render_template('login.html', message = None)
else:
username = request.form['username']
pwd = request.form['password']
user = User.where('username', username).where('pwd', pwd).get().first()
if(user == None):
return render_template('login.html', message = 'Usuario o contraseña incorrecta')
else:
session['user'] = {
'id': user.id,
'username': user.username,
'photo': user.photo
}
return redirect('/home')
@root.route('/home')
def home():
if 'user' in session: # THIS IS FALSE, SESSION IS EMPTY
return render_template('home.html')
else:
return redirect(url_for('root.login', message = None))
燒瓶只接受會話中的小數據? 謝謝。
很抱歉,您不應在會議中存儲較大的圖像。
實現它的一個好方法是存儲唯一的圖像ID,並使用該唯一ID調用url。 像這樣:
<img src = "//myview?id=513654534343543543" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.