创建一个最小的flask应用, 稍做编辑如下, 开启debug调试模式后, 服务器自动加载服务器的修改。
如何自己构建一个优雅的url呢
http方法介绍
http访问urls的方法有get, post, put, delete等, 默认情况下路由只会响应GET请求,可通过给route提供methods参数来改变。
GET: 浏览器告诉服务器只返回获取的页面信息
POST:浏览器告诉服务器URL上有信息提交, 服务器必须保证数据被存储且只存储一次
PUT:
@app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST': do_the_login() else: show_the_login_form()
模板渲染的方法
什么意思呢? 就是你想显示的页面, 可以做成一个html模板存放在templates中, 在模块中使用render_template函数来调用这个html模板,以显示页面真容。当然也可以将html文件做为基础模板, 其其它模板继承调用。
模块内容呢?
关于模板的继承
定义一个包含网站通用元素的骨架模板, 并且定义子模块可以重编辑的blocks,如
子模块调用它
Flask如何获取向页面发出的请求对象呢?
1、method属性来获取当前请求的方法
2、form属性来获取传输的表单数据
3、args属性获取url中提交的参数, request.args.get('key', '')
Flask如何上传及存储文件呢?
1、首先需要在html表单中设置 enctype="multipart/form-data"
2、上传的文件全部存储在request.files内存属性字典中,可以通过save('完整路径') 保存到磁盘
3、filename属性记录着上传文件的名称,如果把它存储在磁盘须使用 secure_filename()
方法以防名称被串改
生成与获取cookies
客户端发送的所有cookies都存储在请求对象的cookies属性中
Flask已经在sessions中加强了cookie
在响应对象中使用set_cookie属性来设置cookies
重定向与错误的处理
redirect() 函数将请求重定向到别的地址
abort() 函数中断一个请求并带出一个错误码
每个错误代码会返回一个默认的黑白错误页, 如何自定义某个代码的错误显示页呢 ? 使用 errorhandler() 装饰器
关于响应对象的问题
Flask中视图函数的返回值都是一个响应对象
make_response: 获取一个对象的响应
效果如下
会话好像挺好理解的