Почему мой коммит сеанса БД не работает? - PullRequest
0 голосов
/ 27 ноября 2018

Я хочу обновить свой профиль, но мой db.session.commit () не работает в IDLE, и когда я пытаюсь использовать PythonShell, он работает.Я не знаю почему, пожалуйста, помогите мне.Извините за мой английский

@app.route('/edit/<username>',methods=['POST','GET'])
@login_required
def edit(username):
  form = ProfileForm(request.form)
  if request.method=='POST' and form.validate():
     t_user = User.query.filter_by(username=username).first()
     t_infor = Infor.query.with_parent(t_user).filter_by(user_id=t_user.id).first()
     t_infor.phone = form.phone.data
     t_infor.mail = form.mail.data
     db.session.commit()
     return redirect(url_for('profile',username=username))
  return render_template('edit.html',form=form,username=username)

@app.route('/profile/<username>')
@login_required
def profile(username): 
  t_user = User.query.filter_by(username=username).first()
  t_infor = Infor.query.with_parent(t_user).filter_by(user_id=t_user.id).first()
  ifmt=[{
  'name': t_user.name,
  'phone':t_infor.phone,
  'mail':t_infor.mail
  }]
  return render_template('profile.html',username=username,ifmt=ifmt)
...