Skr-Eric的Flask课堂(三)——Flask的修改配置和请求与响应和文件上传

修改配置

1.构建Flask 应用时允许指定的配置信息

app=Flask(

__name__,

template_folder='muban',

static_url_path='/s',

static_folder='/sta')

template_folder : 指定存放模板的文件夹名称

static_url_path : 访问静态资源的路径

http://localhost:5000/s/xxx 查找静态资源文件

static_folder : 指定存放静态文件的目录名称

在项目的根目录中 ,有一个名为 sta 的目录用于存放静态文件

2.启动程序的运行配置

app.run(

debug = True,

port = 5555,

host = '0.0.0.0'

)

host : 指定访问地址,0.0.0.0 表示局域网内的任何机器都可以访问网站

 

请求(request) 和 响应(response)

1.HTTP协议

Request Headers - 请求消息头

Response Headers - 响应消息头

2.请求对象 - request

request - 请求对象,封装了所有与请求相关的信息。如:请求数据,请求消息头,请求路径,... ...

在Flask中,要使用 request 的话,必须先导入

from flask import request

1.request的常用成员

1.scheme : 获取请求方案(协议)

2.method : 获取本期请求的请求方式(重点)

3.args : 获取使用get请求方式提交的数据

4.form : 获取使用post请求方式提交的数据

5.cookies : 获取 cookies 的相关信息

6.headers : 获取 请求消息头 的相关信息

7.files : 获取上传的文件

8.path : 获取请求的url地址(进入到主机后的请求资源地址,不包含请求参数)

9.full_path : 获取请求的url地址(进入到主机后的请求资源地址,包含请求参数)

10.url : 获取完整的请求地址,从协议开始的地址

2.获取请求提交的数据

1.get 请求方式

1.表单允许实现get请求

<form action="" method="get">

姓名:<input name="uname">

</form>

2.在请求地址后拼请求提交的参数

http://localhost:5000/06-get?uname=xxx&upwd=xxx

获取 get 请求方式提交的数据 :

request.args 封装的是get请求的数据

2.post 请求方式

post请求只有在表单中才能够被触发

<form method="post">

获取 post 请求提交的数据 :

request.form 封装的就是 post 请求的数据,类型为字典

request.form['name'] : 获取 name 对应的值

request.form.get('name') : 获取 name 对应的值

request.form.getlist('name') : 获取 name 列表数据(如复选框,下拉列表)

1.响应(response)

1.什么是响应

响应就是由服务器端带给客户端的内容,对应着请求。

响应可以是普通的字符串,模板 或 重定向

return "普通字符串"

return render_template('xxx.html')

2.响应对象

响应对象:将响应的内容封装到一个对象中,可以完成更多的响应的行为(如:增加cookies,...)

在Flask中,使用 make_response() 构建响应对象

from flask import make_response

@app.route('/xxx')

def xxx():

resp = make_response('响应内容')

# 允许实现其他的响应行为

return resp

3.重定向

1.什么是重定向

由服务器端通知客户端重新向一个新的地址发送请求

2.语法

from flask import redirect

return redirect('重定向地址')

===============================

resp = redirect('重定向地址')

#借助resp实现其他的响应行为

return resp

 

文件上传

1.注意问题

表单中如果有文件上传的话,必须遵循以下两个要求

1.提交方式 method 必须为 post

2.表单的 enctype 属性的值 必须为 multipart/form-data

2.服务器端

1.通过 request.files 获取上传文件

f = request.files['文件框的name值']

2.通过 f.save(保存路径) 将文件保存至指定目录处

通过 f.filename 获取文件的名称

f.save('static/'+f.filename)

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值