Aloha,我正在尝试关注this tutorial,这里是Git of it
我非常成功,但现在我想尝试修改一下这个代码:)
from flask import Flask, jsonify, request, render_template
app = Flask(__name__)
Persons = [{'name' : 'Arnold' , 'email' : 'disceps@gmail.com'},
{'name' : 'Alex Mikro' , 'email' : 'kovalsky@gmail.com'},
{'name' : 'Phost Arnold' , 'email' : 'arn@gmx.de'}]
所以,我创造了以下价值
现在,我想从此获得一个POST响应......所以,如果一个名字等于键入的名称,那么应该有一个响应..
@app.route('/pers', methods=['POST'])
def addOne():
email = request.form['email']
name = request.form['name']
if name and email:
pers = [persons for persons in Persons if persons['name'] == name]
pers[0]['name'] = request.get_json(force=True).get('name')
if name == pers[0]:
return jsonify({'name' : name})
return jsonify({'error' : 'Missing data!'})
但不幸的是,这不起作用..
P.S。视频中提到的代码
def addOne():
email = request.form['email']
name = request.form['name']
if name and email:
newName = name[::-1]
return jsonify({'name' : newName})
return jsonify({'error' : 'Missing data!'})
工作没有任何麻烦:) 所以我认为,我的IF声明存在问题......
答案 0 :(得分:1)
行。在那里发生了很多事情。根据大卫主义,请解释你想要做的事情。
的问题:
'email'
和'name'
)中获取值,并将它们分配给变量(email
和name
)pers
),其中pers
将包含Persons
列表中带'name'
的任何字典。 1}}与name
变量匹配的值。为什么? if name and email:
下的几乎所有内容都没有任何意义。如果你解释你的意图,我认为有人可以提供帮助。事实上,我看不到你打算做什么。
您从视频中提供的示例并未执行您正在执行的操作。它从变量newName
创建一个新变量name
,它来自表单(name = request.form['name']
)。为什么newName
使name
成为wb
的反转版本我不知道,但即便如此,它仍然比你想要的更简单。