Flask

Django是一个大而全的框架,Flask是一个轻量级的框架。

区别:

  • Django内部集成了大量的组件;请求处理是逐一封装和传递;
  • Flask本身并没有太多的功能,但是第三方组件非常丰富;利用上下文管理来实现请求处理

Flask的wsgi

Flask框架依赖werkzeug wsgi,flask本身没有的wsgi。

from werkzeug.serving import run_simple

class Flask(object):

    def __call__(self,environ, start_response):
return "xx" def run(self):
run_simple('127.0.0.1', 5000, self) app = Flask() if __name__ == '__main__':
app.run()

Flask 的简单操作

  • Flask 路由:以装饰器的形式
@app.route("/index")
def index():
data_dict = DATA_DIC
return render_template("index.html",data_dict=data_dict)
  • Flask 默认允许的请求方式为get,接收其他请求需要设置:
@app.route("/login",methods=["POST","GET"])
  • Flask 别名设置,默认别名为函数名并且不能重名
from flask import Flask,render_templaterequest,url_for

app = Flask(__name__)
@app.route("/index",endpoint="homepage") # 设置别名
def index():
data_dict = DATA_DIC
return render_template("index.html",data_dict=data_dict) @app.route("/edit")
def edit():
return redirect(url_for("homepage")) # 使用别名
  • Flask 获取post请求的数据
@app.route("/login",methods=["POST","GET"])     # 设置请求方式
def login():
user = request.form.get("user") # 通过request.form获取post数据
pwd = request.form.get("pwd")
if user == "xxx" and pwd == "123":
return redirect("/index/")
error = "用户名或密码错误"
return render_template("login.html",error=error)
  • Flask 获取get请求数据
@app.route("/edit",methods=["POST","GET"])
def edit():
nid = request.args.get("nid") # request.args获取get请求中的值
  • Flask 获取URL中的值
# 请求URL:http://127.0.0.1:5000/edit?nid=2

@app.route("/delete/<int:nid>")     # 接收数据,设置数据类型
def delete(nid):
del DATA_DIC[nid]
return redirect(url_for("homepage"))
  • Flask 返回值
return "xxx"      # 返回字符串
return jsonify({"code":1000,"msg":"xxxx"}) # 返回json格式数据
return render_template("login.html",xxx=a) # 返回模板,可以传参数
return redirect("/index/") 或 redirect(url_for("homepage")) # 跳转到URL,或别名

Flask介绍及简单使用的更多相关文章

  1. python的Flask 介绍

    Flask 介绍 知识点 微框架.WSGI.模板引擎概念 使用 Flask 做 web 应用 模板的使用 根据 URL 返回特定网页 实验步骤 1. 什么是 Flask? Flask 是一个 web ...

  2. Flask学习【第1篇】:Flask介绍

    Flask介绍(轻量级的框架,非常快速的就能把程序搭建起来) Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是So ...

  3. Flask【第1篇】:Flask介绍

    Flask入门 一.Flask介绍(轻量级的框架,非常快速的就能把程序搭建起来) Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Wer ...

  4. 12.1 flask基础之简单实用

    一.Flask介绍(轻量级的框架,非常快速的就能把程序搭建起来) Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是 ...

  5. 【转载】Ssh整合开发介绍和简单的登入案例实现

    Ssh整合开发介绍和简单的登入案例实现 Ssh整合开发介绍和简单的登入案例实现 一  介绍: Ssh是strtus2-2.3.1.2+ spring-2.5.6+hibernate-3.6.8整合的开 ...

  6. python模块介绍- HTMLParser 简单的HTML和XHTML解析器

    python模块介绍- HTMLParser 简单的HTML和XHTML解析器 2013-09-11 磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.comqq ...

  7. 基于.NET CORE微服务框架 -surging的介绍和简单示例 (开源)

    一.前言 至今为止编程开发已经11个年头,从 VB6.0,ASP时代到ASP.NET再到MVC, 从中见证了.NET技术发展,从无畏无知的懵懂少年,到现在的中年大叔,从中的酸甜苦辣也只有本人自知.随着 ...

  8. WebRTC介绍及简单应用

    WebRTC介绍及简单应用 WebRTC,即Web Real-Time Communication,web实时通信技术.简单地说就是在web浏览器里面引入实时通信,包括音视频通话等. WebRTC实时 ...

  9. 1. pyhanlp介绍和简单应用

    1. pyhanlp介绍和简单应用 2. 观点提取和聚类代码详解 1. 前言 中文分词≠自然语言处理! 中文分词只是第一步:HanLP从中文分词开始,覆盖词性标注.命名实体识别.句法分析.文本分类等常 ...

随机推荐

  1. rem js相关

    !function(n){ var e=n.document, t=e.documentElement, i=720, d=i/100, o="orientationchange" ...

  2. Ubuntu 安装docker CE以及harbor

    Docker CE安装 系统建议版本:Ubuntu 16.04 官方安装文档连接:https://docs.docker.com/install/linux/docker-ce/ubuntu/#pre ...

  3. 使用Android手机进行开发的尝试

    使用Android手机查看和修改Excel文件.PowerPoint文件并连接幻灯机进行演示等办公方式想必大家已经有所了解.今天介绍一下怎样使用Android进行软件开发. Termux 使用Andr ...

  4. 申请Google Adsense通过终审的关键点

    一.申请Google Adsense前网站数据 申请Google Adsense广告的前提条件及网站环境如下: 60+篇文章. 一天10个ip左右. 谷歌索引200左右,当然包括标签分页等索引. 经过 ...

  5. OpenLDAP + phpLDAPadmin

    一.基础设置 1.1 环境说明 Centos 7.5 openldap 1.2 关闭防火墙和selinux setenforce sed -i 's/SELINUX=enforcing/SELINUX ...

  6. [转]matlab GUI 新手入门——最基本的几个概念

    本文摘自iLoveMatlab论坛 1.从最简单的开始 编程的基本思想是:我执行一个操作,程序做出一个反应."一个操作"包括点击鼠标.拖动滑块.填写数据.选择选项等:"做 ...

  7. 【转帖】Flink 核心技术浅析(整理版)

    Flink 核心技术浅析(整理版) https://www.cnblogs.com/swordfall/p/10612404.html 分类: Flink undefined 1. Flink简介 A ...

  8. 全能中间件v19.5.7 正式版发布

    v19.5.7 更新=========================1.新增 支持更多微信公众号API.2.优化 AccessToken 刷新机制.3.修复 微信公众号“消息加解密方式”为“安全模式 ...

  9. Python 入门(1):hello world 到流程控制

    1.hello world 在D:\python\目录下新建文件hello.txt,编写代码如下 print("hello world!") 修改后缀名为.py,执行hello.p ...

  10. 57 容器(十一)——Collections容器工具类

    Collections是一个工具类,它提供了与集合操作有关的方法,好比数组中的Arrays工具类.(jdk中的工具类名都是xxxs,有关工具类名参考:https://zhuanlan.zhihu.co ...