我在Html中有以下代码:
{% for i in events %}
<li>
<strong>{{i.event_title}}</strong><br />
{{i.descript}} <br />
{{i.customer_id}}<br/>
<small>{{i.date}}</small>
</br>
<a href="{{url_for('cancel_event',ID=i.event_id)}}">Cancel this event</a>
</li>
{% else %}
<li><strong>You have no events scheduled</strong>
{% endfor %}
但是我收到以下错误:canel_event缺少1个必需的位置参数:&#39; ID&#39;。这是烧瓶代码:
@app.route('/cancel/')
def cancel_event(ID):
if not ID:
abort(401)
Event.query.filter_by(Event.event_id == ID).delete()
db.session.commit()
return render_template('cancel.html')
我不知道我做错了什么。请帮忙
答案 0 :(得分:2)
您应该通过邮寄或获取方法请求您的身份证明。然后从请求中提取。例如,通过邮寄:
@app.route('/cancel/', method=['POST','GET'])
def cancel_event():
ID = None
if request.method == 'POST': # get ID in the request
ID = request.files['ID']
if not ID:
abort(401)
Event.query.filter_by(Event.event_id == ID).delete()
db.session.commit()
return render_template('cancel.html')
阅读此内容可能有所帮助:http://flask.pocoo.org/docs/0.12/quickstart/#accessing-request-data