1.模板
1.静态文件地址的反向解析
url_for('static',filename='<file_path>')
ex:
url_for('static',filename='images/b041.jpg')
结果: /static/images/b041.jpg
2.模板的继承
1·什么是模板的继承
模板的继承类似于类的继承,如果一个模板中出现的内容来自于另一个模板的话,那么就可以使用继承的方式来简化开发
2.语法
1.父模板
需要定义出哪些东西在子模板中是可以被重写的
{% block 块名 %}
父模板中正常显示的内容
{% endblock %}
block:
1.在父模板中是可以正常显示的,没有任何影响
2.在字模板中是可以被重写的
2.子模板
1.需要指定继承自哪个父模板
{% extends '父模板名称' %}
2.重写父模板中对应的内容
{% block 块名 %}
此处编写的内容会覆盖掉父模板中同名block的内容
允许通过 {{super()}} 来调用父模板中的内容
{% endblock %}
2.修改配置
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 表示局域网内的任何机器都可以访问网站
3.请求(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.访问地址为 http://localhost:5000/07-form-post 能够去往07-form.html模板
2.在 07-form.html 中
包含一个表单,post 提交方式,提交地址为 /07-post,控件如下
1.文本框 - 用户名
2.密码框 - 用户密码
3.文本框 - 用户邮箱
4.文本框 - 真实姓名
5.提交按钮
3.在 07-post 中
获取所有请求提价的数据并打印在终端中