路由和视图函数基本概念

《FlaskWeb开发:基于python的Web应用开发应用》笔记一

一、路由和视图函数

1.什么叫路由?

    客户端(例如Web浏览器)把请求发送给Web服务器,Web服务器再把请求发送给Flask程序实例。程序实例需要知道对每个URL请求运行哪些代码,所以保存了一个URL到python函数的映射关系。处理URL和函数之间关系的程序称为路由

      在Flask 程序中定义路由的最简便方式,是使用程序实例提供的app.route 修饰器,把修饰的函数注册为路由。下面的例子说明了如何使用这个修饰器声明路由:

@app.route('/')
def index():
return '<h1>Hello World!</h1>'

2.什么叫响应和视图函数?

   前面的index()函数注册为程序跟地址的处理程序。如果部署程序的服务器域名为www.example.com,在浏览器中访问http://www.example.com后,会触发服务器执行index()函数,这个函数的返回值就称为响应,是客户端收到的内容。如果客户端是Web浏览器,响应就是显示给用户查看的文档。

    视图函数就是像index()这样的函数,视图函数返回的响应可以是包含HTML的简单字符串,也可以是复杂的表单。

3.动态名字

      如果你仔细观察日常所用服务的某些URL 格式,会发现很多地址中都包含可变部分。例如, 你的Facebook 资料页面的地址是http://www.facebook.com/<your-­name>, 用户名(your-­name)是地址的一部分。Flask 支持这种形式的URL,只需在route 修饰器中使用特殊的句法即可。下例定义的路由中就有一部分是动态名字:

@app.route('/user/<name>')
def user(name):
return '<h1>Hello, %s!</h1>' % name

尖括号中的内容就是动态部分,任何能匹配到静态部分的URL都会映射到这个路由上。调用视图函数时,Flask会将动态部分作为参数传入函数。

二、启动服务器

程序实例用run 方法启动Flask 集成的开发Web 服务器:

if __name__ == '__main__':
app.run(debug=True)

       __name__=='__main__' 是Python 的惯常用法,在这里确保直接执行这个脚本时才启动开发Web 服务器。如果这个脚本由其他脚本引入,程序假定父级脚本会启动不同的服务器,因此不会执行app.run()。

       服务器启动后,会进入轮询,等待并处理请求。轮询会一直运行,直到程序停止,比如按Ctrl-C 键。

猜你喜欢

转载自blog.csdn.net/weixin_39541558/article/details/81606880
今日推荐