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. redis sentinel怎么跑守护进程以及日志记录位置的?2. python 字符串匹配问题3. 请问PHPstudy中的数据库如何创建索引4. django - Nginx uwsgi 进程问题5. javascript - sublime快键键问题6. 使用git管理webpack的代码时多人怎么协作?一般托管哪些文件?7. html - angular项目中如何让外链网页在本项目中展示?8. Python异常退出时保存进度?9. 前端 - 这段代码一直生效不了,查半天因为 top: 0px; 分号后一个隐藏的东西,也不是占位符...删了就可以生效,这是什么情况。。10. 这是什么情况???

网公网安备