博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flask 框架 简介
阅读量:5163 次
发布时间:2019-06-13

本文共 2093 字,大约阅读时间需要 6 分钟。

一、Flask介绍

Flask是一个基于Werkzeug,Jinja 2 轻量级的web开发框架, 使用Python开发, 上手简单

二、安装Flask

三、第一个Flask程序

1、编写app.py文件内容如下:

2、启动程序

浏览器访问http://localhost:9001/查看显示内容

程序说明:

   Line 4: 导入Flask类

   Line :7 创建Flask实例, 第一个参数为模块或者包的名称, 模块名称会根据是否单独应用而变化因此可以选择使用name变量动态指定, 该参数与Flask查找static和template文件位置有关

   Line 10: 定义路由endpoint=/, 表示有index函数处理请求url为/的GET请求

   Line 18: 启动app, 执行监听的host:port, 在测试环境开启调试模

   注意: debug模式是不安全的, 在生产环境应该关闭

四、路由

1、路由用于将python函数绑定到url上, 一个函数可以绑定多个路由规则, 也可以构建动态的url

2、访问浏览器http://localhost:9001/users/

3、访问浏览器http://localhost:9001/users/12/

4、在动态url中通过添加变量<varname>将参数传递到函数中, 在添加变量可以使用<converter:varname>指定varname的类型

converter支持int, float, path三种类型

5、路由中的endpoint有两种模式, 以/结尾和不以/结尾

对于以/结尾的route, 在浏览器中访问url时若不以/结尾, 会被flask重定向到与以/结尾的endpoint上

对于不以/结尾的route, 在浏览器中访问url时若以/结尾, 则会返回404错误

个人建议: 在定义route和使用url访问时结尾都加上/

6、路由中可以通过methods指定函数处理的HTTP方法, 默认只处理GET方法

HTTP方法:

   GET: 获取内容

   POST: 提交新数据

   HEAD: 检查数据是否存在

   PUT: 覆盖数据

   DELETE: 删除数据

   OPTIONS: 检查服务器支持哪些方法

五、模板

1、项目目录结构:

2、模板存放目录为/templates/

3、渲染模板

说明:

   Line 2: 导入render_template函数

   Line 8: 使用render_template函数渲染模板users.html, 并将变量title和users传递给模板

4、模板定义

说明:

   Line 5: 将title变量渲染到模板中, 需要使用两个大括号包含变量

   Line 17: 遍历users, for语句需要被包含在大括号百分号之中,结束需要用endfor

   Line 21: 条件判断, if语句需要被包含在大括号百分号之中,结束需要用endfif

5、访问浏览器http://localhost:9001/users/

六、静态文件

可以在模板中引入本地的js, css, 图片等资源文件

说明:

  1. 静态资源文件需要放置在static目录

  2. 在模板中使用/static/filename.suffix的格式引入文件

  3. 可以使用url_for('static', filename=filename.suffix)函数自动生成url引入文件

七、请求参数

说明:

   Line 1: 导入reqeust对象

   Line 5: 通过reqeust.method获取请求方法

   Line 6: 通过reqeust.args获取GET请求提交的参数

访问浏览器http://localhost:9001/users/?id=123

   Line 8: 通过reqeust.form获取POST请求提交的参数

  通过curl访问 http://localhost:9001/users/

 

 若需要上传文件则需要使用request.files获取提交的参数并通过save函数保存到服务器上

 

八、cookie

说明:

   Line 1: 导入make_response函数

   Line 4: 通过make_response创建response对象

   Line 5: 设置cookie信息locale=zh_CN

   Line 6: 获取cookie中信息

九、会话

说明:

   Line 1: 导入session对象

   Line 9: 在session中存储信息

   Line 2: 导入重定向函数redirect

   Line 10: 重定向到/users/

   Line 16: 获取session中存储的信息

   Line 20: 删除session中的信息

   Line 21: 销毁session中的所有信息

   Line 4: 设置session签名所使用的密钥, 可以使用os.urandom(32)来生成强壮的密钥

 

 Python交流群:238757010

 

转载于:https://www.cnblogs.com/reboot51/p/8143235.html

你可能感兴趣的文章
ubuntu的home目录下,Desktop等目录消失不见
查看>>
建立,查询二叉树 hdu 5444
查看>>
[Spring框架]Spring 事务管理基础入门总结.
查看>>
2017.3.24上午
查看>>
Python-常用模块及简单的案列
查看>>
LeetCode 159. Longest Substring with At Most Two Distinct Characters
查看>>
LeetCode Ones and Zeroes
查看>>
基本算法概论
查看>>
jquery动态移除/增加onclick属性详解
查看>>
JavaScript---Promise
查看>>
暖暖的感动
查看>>
Java中的日期和时间
查看>>
Django基于admin的stark组件创建(一)
查看>>
抛弃IIS,利用FastCGI让Asp.net与Nginx在一起
查看>>
C. Tanya and Toys_模拟
查看>>
springboot jar包运行中获取资源文件
查看>>
基于FPGA实现的高速串行交换模块实现方法研究
查看>>
Java Scala获取所有注解的类信息
查看>>
delphi ,安装插件
查看>>
case when then的用法-leetcode交换工资
查看>>