python - flask報錯ValueError: invalid key ’nicknickname’
問題描述
提出一個問題,也順便記錄一下~,因為涉及到的文件比較多,所以只貼部分代碼:下面是views文件:
#coding=utf-8from flask import render_template, flash, redirect, session, url_for, request, gfrom flask_login import login_user, logout_user, current_user, login_requiredfrom app import app, db, lm, oidfrom .forms import LoginFormfrom .models import User@lm.user_loaderdef load_user(id): return User.query.get(int(id))@app.before_requestdef before_request(): g.user = current_user@app.route(’/’)@app.route(’/index’)@login_requireddef index(): user = {’nickname’: ’anryan’} posts = [{ ’author’: {’nickname’: ’Anryan’}, ’body’: u’這地方不錯~’},{ ’author’: {’nickname’: ’syy’}, ’body’: u’晚上能扎營不’}, { ’author’: {’nickname’: u’小麥’}, ’body’: u’空氣很清爽哈~’}, { ’author’: {’nickname’: u’老崔’}, ’body’: u’誰說不是,如果Tara能在這兒辦場演唱會就好了’},{ ’author’: {’nickname’: u’二又’}, ’body’: u’在這兒打LOL比賽肯定能贏’},{ ’author’: {’nickname’: u’言神’}, ’body’: u’玩王者榮耀也不錯。’} ] return render_template(’index.html’, title=’Home’, user=user, posts=posts)@app.route(’/login’, methods=[’GET’, ’POST’])@oid.loginhandlerdef login(): if g.user is not None and g.user.is_authenticated:return redirect(url_for(’index’)) form = LoginForm() if form.validate_on_submit():session[’remember_me’] = form.remember_me.datareturn oid.try_login(form.openid.data, ask_for=[’nicknickname’, ’email’]) return render_template(’login.html’, title=u’點擊進入’, form=form, providers=app.config[’OPENID_PROVIDERS’])@oid.after_logindef after_login(resp): if resp.email is None or resp.email == '':flash(u’無效登陸信息哦~請重新輸入’)return redirect(url_for(’login’)) user = User.query.filter_by(email=resp.email).first() if user is None:nicknickname = resp.nicknicknameif nicknickname is None or nicknickname == '': nicknickname = resp.email.split(’@’)[0]user = User(nicknickname=nicknickname, email=resp.email)db.session.add(user)db.session.commit() remember_me = False if ’remember_me’ in session:remember_me = session[’remember_me’]session.pop(’remember_me’, None) login_user(user, remember=remember_me) return redirect(request.args.get(’next’) or url_for(’index’))@app.route(’/logout’)def logout(): logout_user() return redirect(url_for(’index’))
顯示頁面:
頁面報錯:
File 'C:UsersAsusflaskblogappviews.py', line 64, in loginOpen an interactive python shell in this framereturn oid.try_login(form.openid.data, ask_for=[’nicknickname’, ’email’])File 'C:UsersAsusflasklibsite-packagesflask_openid.py', line 554, in try_loginapprove the trust root).'''if ask_for and __debug__: for key in ask_for:if key not in ALL_KEYS: raise ValueError(’invalid key %r’ % key) if ask_for_optional:for key in ask_for_optional: if key not in ALL_KEYS:raise ValueError(’invalid optional key %r’ % key)try:ValueError: invalid key ’nicknickname’The debugger caught an exception in your WSGI application. You can now look at the traceback which led to the error.To switch between the interactive traceback and the plaintext one, you can click on the 'Traceback' headline. From the text traceback you can also create a paste of it. For code execution mouse-over the frame you want to debug and click on the console icon on the right side.
You can execute arbitrary Python code in the stack frames and there are some extra helpers available for introspection:
問題解答
回答1:這里不應該是nickname嗎?
相關文章:
1. 關于docker下的nginx壓力測試2. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?3. java - 阿里的開發手冊中為什么禁用map來作為查詢的接受類?4. dockerfile - [docker build image失敗- npm install]5. nignx - docker內nginx 80端口被占用6. html5 - 使用echarts中的圖表 一個頁面導入了好幾個js圖表 實現echarts圖表隨著瀏覽器窗口變化而變化時出現了問題7. 在windows下安裝docker Toolbox 啟動Docker Quickstart Terminal 失敗!8. dockerfile - 我用docker build的時候出現下邊問題 麻煩幫我看一下9. docker api 開發的端口怎么獲取?10. python3.x - git bash如何運行.bat文件?
