• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

flask为什么要用url_for

python 搞java代码 3年前 (2022-05-24) 45次浏览 已收录 0个评论

我们先看下面这一段代码,再做解释

from <a href="https://www.gaodaima.com/tag/flask" title="查看更多关于flask的文章" target="_blank">flask</a> import Flask,request,<a href="https://www.gaodaima.com/tag/url" title="查看更多关于url的文章" target="_blank">url</a>_for
app=Flask(__name__)
 
@app.route('/')
 
def Index():
 
    return  "<h1>this is Index Page</h1>"
 
@app.route('/test')
 
def query_user():
 
    id=request.args.get('id')
 
    return "query user:"+id
 
@app.route('/query_url')
 
def query_url():
 

    return  "query url:"+url_for("query_user")
 
if __name__ == "__main__":
 
    app.run(debug=True)

www#gaodaima.com来源gaodaimacom搞#^代%!码&网搞代码

一般我们通过一个URL就可以执行到某一个函数。如果反过来,我们知道一个函数,怎么去获得这个URL呢?url_for函数就可以帮我们实现这个功能。url_for()函数接收两个及以上的参数,他接收函数名作为第一个参数,接收对应URL规则的命名参数,如果还出现其他的参数,则会添加到URL的后面作为查询参数。

通过构建URL的方式而选择直接在代码中拼URL的原因有两点:

将来如果修改了URL,但没有修改该URL对应的函数名,就不用到处去替换URL了。

url_for()函数会转义特殊字符和Unocode数据,这些工作都不需要我们自己处理。

输入http://127.0.0.1:5000/test?id=123 返回query user:123

输入http://127.0.0.1:5000/query_url返回query url:test

通过上面的代码以及输入链接分析

url_for(方法的名) 和app.route参数的关系是

url_for(方法的名) =app.route参数名

而url_for()本身和app.route的参数是没关系的,之和方法的参数名相关。

来源:搞代码网:原文地址:https://www.gaodaima.com


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:flask为什么要用url_for

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址