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-compose中volumes的问题2. nignx - docker内nginx 80端口被占用3. mac里的docker如何命令行开启呢?4. angular.js - angular内容过长展开收起效果5. node.js - antdesign怎么集合react-redux对input控件进行初始化赋值6. angular.js - Angularjs中点击事件传递参数 给class更换样式。7. 为什么我ping不通我的docker容器呢???8. docker api 开发的端口怎么获取?9. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?10. docker - 如何修改运行中容器的配置

网公网安备