cyl531207502
cyl531207502
采纳率52.8%
2021-03-04 09:59

关于flask配置代码执行问题

30
已采纳
from flask import Flask
#创建web服务对象
app=Flask('hi_flask')
@app.route('/hi',methods=['GET','POST'])
def hi1():
    return """
    <h1>用户登录页面</h1>
    <form action="/hi"method='post'>
    <input name="username" placeholder="用户名"><br>
    <input name="pwd" placeholder="密码"><br>
    <button>提交</button>
    </form>
    """
app.run("localhost",5000)

代码如上所示,初学者,有什么说的不对的或者不清楚的请各位包涵

上面的代码只是很小的一段基础演示,在访问 http://localhost:5000/hi后,返回登录的界面

这里我就是不是很了解这个代码执行的过程,首先,hi这个函数只是定义了,他是在哪里被调用的?app.route是一个装饰器,他会把hi这个函数地址作为参数传递给自己,然后执行app.route,返回内部函数地址来替代hi,这个是我理解的装饰器的过程,但是没看到最终在哪里执行了这个app.route返回的函数,想问下是否是返回给浏览器执行的?还是说只需要记住这里会自动执行,具体的过程或者原理不需要深究?请知道的告诉下谢谢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • hjue 多鱼的夏天 1月前

    @app.route('/hi',methods=['GET','POST'])

    def hi1():

    添加这个装饰器完成了路径/hi和函数hi1的映射关系,这样当你访问 /hi时,就会调用函数hi1

    你可以在第14行前添加 print(app.url_map) ,把app.url_map打印出来你就明白了。url_map就是路由表

    点赞 评论 复制链接分享
  • cyl531207502 cyl531207502 1月前

    你好谢谢你的回答,那这个映射是通过app这个对象实现的嘛?有没有专门的资料或者代码来说明flask的具体框架和每个方法的呢?

    点赞 评论 复制链接分享