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. dockerfile - 为什么docker容器启动不了?2. javascript - webapp业务流程基本一致,多套主题(样式基本不一样,交互稍有偏差)管理,并且有不断有新增主题,该如何设计组件化架构?3. javascript - ejs支持if else语法吗4. 请教各位大佬,浏览器点 提交实例为什么没有反应5. macos - mac下docker如何设置代理6. javascript - 用rem写的页面,安卓手机显示文字是正常的,苹果显示的文字是特别小的是为什么呢7. javascript - 移动端,当出现遮罩层的时候,遮罩层里有div是超出高度scroll的,怎么避免滑动div的时候,body跟随滑动?8. javascript - JS设置Video视频对象的currentTime时出现了问题,IE,Edge,火狐,都可以设置,反而chrom却...9. 新手 - Python 爬虫 问题 求助10. javascript - 学习网页开发,关于head区域一段脚本的疑惑
