【发布时间】:2019-05-22 12:48:54
【问题描述】:
我想根据从另一个屏幕传递的字符串值,使用烧瓶炼金术从数据库中获取数据。但问题是,我的密码是 400 error,但我不知道自己做错了什么。
这是获取我的数据的函数:
def userToEdit(userVar):
with session_scope() as s:
userVname = s.query(tabledef.User).filter(tabledef.User.username==userVar).first()
return(userVname)
这是使用我的模板处理的函数:
# -------- Edit Users ---------------------------------------------------------- #
@app.route('/edituser/<string:userVar>', methods=['GET', 'POST'])
def edituser(userVar):
userV = helpers.userToEdit(userVar)
if session.get('logged_in'):
if request.method == 'POST':
password = request.form['password']
if password != "":
password = helpers.hash_password(password)
email = request.form['email']
helpers.change_user(password=password, email=email)
return json.dumps({'status': 'Saved'})
else:
password = helpers.fetch_usernames.password
user = helpers.userToEdit(userVar)
pagename = "Edit User"
roles = ['Test1', 'Test2', 'Test3']
mobile_roles = ['test1', 'test2', 'test3']
states = ['Active', 'Non-active']
return render_template('edituser.html', user=user, pagename=pagename, roles=roles, states=states, mobile_roles=mobile_roles)
return redirect(url_for('login'))
这是我的模板中应该填充的部分:
<div class="field">
<p class="control has-icons-left">
<input id="settings-user" class="input is-success" type="text" placeholder="{{user.username}}" readonly="readonly">
<span class="icon is-small is-left">
<i class="fa fa-user"></i>
</span>
</p>
</div>
<div class="field">
<p class="control has-icons-left">
<input id="settings-mail" class="input is-success" type="text" placeholder="{{user.email}}">
<span class="icon is-small is-left">
<i class="fa fa-envelope"></i>
</span>
</p>
</div>
<div class="field">
<p class="control has-icons-left">
<input id="settings-pass" class="input" type="password" placeholder="•••••">
<span class="icon is-small is-left">
<i class="fa fa-lock"></i>
</span>
</p>
</div>
如果您问错误是以下消息
werkzeug.exceptions.HTTPException.wrap..newcls:400 错误 请求:KeyError:'密码'
既然我已经解决了所有问题,有没有办法解决这个问题?因为我不知道从哪里开始。
【问题讨论】:
标签: flask jinja2 flask-sqlalchemy