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. C# Selenium操作指南,关闭黑色CMD窗口/禁用图片/隐藏浏览器等

    引用部分:1. 2. 配置部分: ChromeDriverService driverService = ChromeDriverService.CreateDefaultService(); dri ...

  2. Python 使用 win32com 模块对 word 文件进行操作

    what's the win32com 模块 win32com 模块主要为 Python 提供调用 windows 底层组件对 word .Excel.PPT 等进行操作的功能,只能在 Windows ...

  3. 设置驱动的方法(Chrome 亲测ok)

    驱动下载地址 http://selenium-release.storage.googleapis.com/index.html package com.selenium.java.webdriver ...

  4. OpenStack(三)——allinone云平台的使用方法

    接着OpenStack(二)——使用Kolla部署OpenStack-allinone云平台继续操作. 特别感谢https://www.cnblogs.com/openstackteam/p/5519 ...

  5. Nginx学习之入门

    1. 概念   (1) 什么是nginx?    Nginx (engine x) 是一款轻量级的Web 服务器 .反向代理服务器及电子邮件(IMAP/POP3)代理服务器.   (2) 什么是反向代 ...

  6. Django Model 模型

    参考: https://www.runoob.com/django/django-model.html https://www.cnblogs.com/taosiyu/p/11260000.html ...

  7. spark笔记 环境配置

    spark笔记 spark简介 saprk 有六个核心组件: SparkCore.SparkSQL.SparkStreaming.StructedStreaming.MLlib,Graphx Spar ...

  8. eclipse不提示

    1.菜单window->Preferences->Java->Editor->Content Assist->Enable auto activation 选项要打上勾 ...

  9. 不同版本的ArcMap在Oracle中创建镶嵌数据集的不同行为

    如果不同版本的ArcMap连接到同一个Oracle数据库上,分别执行"创建镶嵌数据集",它们的行为是一样的吗? 答案是:不一样,会有细微的差别 在本例中,ArcMap的版本分别是1 ...

  10. python 必选参数、默认参数、可变参数和、关键字参数

    转自:https://www.liaoxuefeng.com/wiki/897692888725344/897693568201440 可变参数 在Python函数中,还可以定义可变参数.顾名思义,可 ...