首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

flask学习笔记-URL与视图函数映射

客户端通过URL(统一资源定位符)访问服务器上的特定资源,今天介绍如何使用flask完成到视图函数映射这一环节。

一.基本用法

@app.route('/')

defhello_world():

return'Hello World!'

首先要用到的就是修饰器 @app.route(' / '),它吧下面 hello_world()这个视图函数修饰成路由,括号里的参数规定请求的路径。这样用户就可以根据 '/' 这个路径,访问视图函数。比如:IP地址是 127.0.0.1 ,端口是 5000、使用http协议 浏览器输入 http://127.0.0.1:5000/就能访问到这个视图函数,服务器随后给浏览器返回一个字符串 'Hello World!'。一个视图函数可以指定多个URL路径,后面我再介绍配置方法。

二.将参数嵌套在路径里

@app.route(' xxx ') 路径参数可以写死,也可以是变化的。比如,app.route(' /index/ ') 这样你只能通过 http://127.0.0.1:5000/index/ 来访问下面的视图函数,index在这里只能算是一个字符串常量。如果路径的某一部分能够接受不同的数据,并把数据作为参数传入视图函数进处理,实现不同的返回。这样就能针对用户不同的输入展示不同的欢迎信息。听上去很不错,那么怎么实现呢?

@app.route('/user/')

defindex(name):

return'欢迎:{}'.format(name)

传递参数的语法是:`//`。然后在视图函数中,也要定义同名的参数。

要给参数指定数据类型,语法是 '//'。

1.如果没有指定具体的数据类型,那么默认就是使用`string`数据类型。

2.`int`数据类型只能传递`int`类型。

3.`float`数据类型只能传递`float`类型。

4.`path`数据类型和`string`有点类似,都是可以接收任意的字符串,但是`path`可以接收路径,也就是说可以包含斜杠。

5.`uuid`数据类型只能接收符合`uuid`的字符串。`uuid`是一个全宇宙都唯一的字符串,一般可以用来作为表的主键。

6.前面说过可以给一个视图函数指定多个url,是通过`any`数据类型,可以在一个`url`中指定多个路径。例如:

```python

@app.route('///')

def detail(url_path,id):

if url_path == 'blog':

return '博客详情:%s' % id

else:

return '博客详情:%s' % id

```

三.另一种URL传参的方法

第一种:使用path的形式(将参数嵌入到路径中),就是上面讲的。第二种:使用查询字符串的方式,就是通过`?key=value`的形式传递的。比如, http://127.0.0.1:5000/index/?wd=value ,在视图函数这边对应的处理如下

@app.route('/index/')

def d():

return '您通过查询字符串的方式传递的参数是:%s' % wd

使用request方法,要引入这个类

fromflaskimportFlask,request

四.总结

如果你的这个页面的想要做`SEO`优化,就是被搜索引擎搜索到,

那么推荐使用第一种形式(path的形式)。如果不在乎搜索引擎优化,

那么就可以使用第二种(查询字符串的形式)。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180406G05EDO00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券