from flask import Flask,request
app = Flask(__name__)
@app.route('/')
def index():
return "hello"
@app.route('/admin',methods=['POST','GET'])
def checkDate():
return 'From Date is'+request.args.get('from_date')+ ' To Date is '+ request.args.get('to_date')
if __name__=="__main__":
app.run(port=5000,debug=True)
8条答案
按热度按时间e0uiprwp1#
如果您确实想使用查询参数,其他答案会给出正确的解决方案,例如:
一些注意事项。如果你只需要支持GET请求,就不需要在你的路由装饰器中包含这些方法。
来解释查询参数。在你的例子中,除了“?”之外的所有东西都被称为查询参数。Flask会从URL中取出这些查询参数,并将它们放入一个ImmutableDict中。你可以通过
request.args
访问它,或者使用键,例如request.args['summary']
或者使用我和其他评论者提到的get方法,这样就可以给它一个默认值(例如无),如果它不存在。这对于查询参数很常见,因为它们通常是可选的。现在,还有另一个选项,您似乎在示例中尝试使用该选项,即使用Path Param。
此处的URL应为:http://0.0.0.0:8888/createcm/VVV/Feauure
VVV和Feauure作为变量传递给函数。
oalqel3c2#
你可以试试这个:
curl 请求
flask服务器
控制台输出
P.S.不要省略带有curl选项的双引号(""),否则它在Linux中不起作用,因为"&"
7eumitmz3#
路由与查询字符串不匹配,该查询字符串将直接传递给您的方法。
qhhrdooz4#
eblbsuwk5#
在您的请求URL中:
http://0.0.0.0:8888/createcm?summary=VVV&change=Feauure
,端点是/createcm
并且?summary=VVV&change=Feauure
是请求的args
部分.因此您可以尝试以下操作:httpie
示例:ikfrs5lh6#
您混淆了URL参数和URL本身。
您可以使用
request.args.get("summary")
和request.args.get("change")
访问URL参数。5hcedyr07#
简单地说,我们可以分两步来完成:1] flask 中的代码[app.py]
2]点击浏览器中的URL:
k0pti3hp8#
在高射炮中我们是这样做
现在你可以运行你的端点与不同的可选参数如下