def edit(request, id):
user = await User.find_one(id)
if not user:
request['flash']('User not found', 'error')
return redirect(app.url_for('index'))
if request.method == 'POST':
name = request.form.get('name', '').strip().lower()
age = request.form.get('age', '').strip()
if name:
doc = dict(name=name, age=int(age))
is_uniq = await User.is_unique(doc=doc, id=user.id)
if is_uniq in (True, None):
# remove non-changed items
user.clean_for_dirty(doc)
if doc:
await User.update_one({'_id': user.id}, {'$set': doc})
request['flash']('User was updated successfully', 'success')
return redirect(app.url_for('index'))
else:
request['flash']('This name was already taken', 'error')
request['flash']('User name is required', 'error')
return jinja.render('form.html', request, user=user)
评论列表
文章目录