【发布时间】:2017-07-26 01:39:05
【问题描述】:
我必须有条件地删除数据库条目,但我无法弄清楚,因为表单要求在 uri 中发布正确的参数。我可以使用相同的代码删除 shell 中的条目,但不在视图中。以下是视图和表单:
@app.route('/cancelannualsub/<int:student_id>', methods=['DELETE'])
def cancel_yearly_rec(student_id):
if not user_authorized():
return redirect('/')
user = get_profile_data(session['auth_token'])
profile_data = user['StudentProfile']
pkg = Package.query.filter_by(student_id=profile_data.id).first_or_404()
if request.method=='POST':
try:
pkg = Package()
dbase.session.delete(pkg)
flash('Package deleted successfully.')
dbase.session.commit()
except:
pass
return redirect('plans')
return render_template('profile/cancel/cancel.html')
表格:
<form action="{{ url_for('cancel_yearly_rec', student_id=***can't render value here***) }}" method='post'>
<input type='hidden' name='_method' value='DELETE'
<input class='btn' type="submit" value="Cancel" />
</form>
我正在尝试与 stackoverflow 示例不同的东西。如果我做错了什么或有更好的方法,请提供帮助。
【问题讨论】:
-
你在这里打错了
pkg = Pacakge(),pacakge->package -
这不是原始代码中的错误...我检查了。现在我要在 student_id="what to add here" 的表单中添加什么。
标签: python mysql flask flask-sqlalchemy