flask是一个使用 Python 编写的轻量级 Web 应用框架。轻巧页就意味着他比较简洁,不过见到的MTV框架还是有的,(MVC)但是最重要的还是他的可扩展性很强,对比与Django框架呢,他的灵活度就很高了,可以自己一些设计代码框架。

一、实现一个最简单的web服务器

  1. from flask import Flask, request, render_template
  2. import time
  3.  
  4. # 通过name 初始化application
  5. app = Flask(__name__)
  6. # 添加路由 添加多个路由
  7. @app.route('/hello')
  8. @app.route('/')
  9. # 视图函数control : view function MVC设计模式 负责转发请求,对请求进行处理
  10. def index():
  11. # 获取url中的参数,如果有会获取到 如果没有设置值为None
  12. args = request.args
  13. name = args.get("username")
  14. '''
  15. 1.接受参数
  16. 2、调用对应的函数去处理数据(model)
  17. 3、构建响应结果
  18. '''
      # 返回一个html页面
  19. return render_template('test_css.html')
  20.  
  21. if __name__ == '__main__':
  22. # 启动一个服务器 wsgi
  23. app.run(debug=True)

在返回html时要注意把html文件存放在templates文件中,使用到的静态文件存放在static文件中,可以在初始化application时候修改

  1. def __init__(
  2. self,
  3. import_name,
  4. static_url_path=None,    
  5. static_folder="static", # 静态文件存放
  6. static_host=None,      # 开启服务器端口 默认5000
  7. host_matching=False,
  8. subdomain_matching=False,
  9. template_folder="templates", # html文件存放
  10. instance_path=None,
  11. instance_relative_config=False,
  12. root_path=None,
  13. ):

二、路由注册:集中注册

  1. from flask import Flask
  2.  
  3. app = Flask(__name__)
  4. def index():
  5. return '1'
  1. def login():
  2. return '2'
  1. # 集中注册方法 view_func 指定视图函数
    app.add_url_rule('/index', view_func=index)
  1. app.add_url_rule('/login', view_func=login)
  1.  
  1. if __name__ == '__main__':
  1.   app.run()

三、路由重定向

  1. from flask import Flask
  2.  
  3. app = Flask(__name__)
  4. # flask中 /login和 /login/ 对待成两个不同的url redirect_to 强制重定向到/
  5. @app.route("/login", redirect_to="/")
  6. # 此时访问/login/ 会404
  7. def login():
  8. return 'login1'
  9.  
  10. @app.route("/")
  11. def index():
  12. return 'index'
  13.  
  14. @app.route("/login/")
  15. # 此时访问/login 会返回成功 永久重定向 308 到/cases/
  16. def login_1():
  17. return 'login2/'
  18.  
  19. if __name__ == '__main__':
  20. app.run()

四、获取动态参数

  1. from flask import Flask,request
  2. app = Flask(__name__)
  3. # 通过尖括号表示变化的内容 注意设置数据类型@app.route("/cases/<int:id>")
  4. # string:id 不能包含斜杠 path:id 可以包含斜杠def get_case(id): return f'{id}'
  5. # defaults 设置默认值 也可以通过视图函数设置
  6. @app.route("/case/<id>", defaults={"id": 3})
  7. def get_case_1(id=None):
  8. id = request.args.get("id")return id
  9.  
  10. if __name__ == '__main__':
  11. app.run()

Python之Flask框架一的更多相关文章

  1. Python基于Flask框架配置依赖包信息的项目迁移部署小技巧

    一般在本机上完成基于Flask框架的代码编写后,如果有接口或者数据操作方面需求需要把代码部署到指定服务器上. 一般情况下,使用Flask框架开发者大多数都是选择Python虚拟环境来运行项目,不同的虚 ...

  2. python之Flask框架

    一.简单的Flask框架 1)flask简介 Flask 是一个 web 框架.也就是说 Flask 为你提供工具,库和技术来允许你构建一个 web 应用程序. 这个 wdb 应用程序可以使一些 we ...

  3. 使用Python的Flask框架,结合Highchart,动态渲染图表(Ajax 请求数据接口)

    参考链接:https://www.highcharts.com.cn/docs/ajax 参考链接中的示例代码是使用php写的,这里改用python写. 需要注意的地方: 1.接口返回的数据格式,这个 ...

  4. Python的Flask框架入门-Ubuntu

    全文请见tuts code:An Introduction to Python's Flask Framework Flask是Python一个小而强大的web框架.学起来简单,用起来也容易,能够帮你 ...

  5. Python之Flask框架项目Demo入门

    Python+Flask框架项目Demo入门 本例子用到了 Flask+蓝图+Flask-Login+SQLAlchemy+WTForms+PyMySQL相关架构 Flask Web框架介绍 Flas ...

  6. Python 的 Flask 框架安装应用

    Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱採用 Werkzeug ,模板引擎则使用 Jinja2 ,使用 BSD 授权. Flask也被称为 " ...

  7. Python之Flask框架使用

    Flask和Django.Bottle号称Python中的强大又简单的Web框架. Flask是一个使用Python编写的轻量级Web应用框架.基于Werkzeug WSGI工具箱和Jinja2 模板 ...

  8. Python之flask框架2

    Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务.本文参考自Flask官方文档,大部分代码引用自官方文档. 安装flask 首先我们来安装F ...

  9. [Python自学] Flask框架 (1) (Flask介绍、配置、Session、路由、请求和响应、Jinjia2模板语言、视图装饰器)

    oldboy:s9day114 参考博客:https://www.cnblogs.com/wupeiqi/articles/7552008.html 一.Flask简介 1.安装Flask pip i ...

  10. Python的Flask框架开发RESTful API

    web框架选择 Django,流行但是笨重,还麻烦,人生苦短,肯定不选 web.py,轻量,但据说作者仙逝无人维护,好吧,先pass tornado,据说倡导自己造轮子,虽然是facebook开源的吧 ...

随机推荐

  1. CodeForces-1058B B. Vasya and Cornfield

    这题,我真的不知道题解是啥,自己看代码吧. #include<iostream> using namespace std; int main() { int n, d,m,i,x,y; c ...

  2. codeforce 266c Below the Diagonal 矩阵变换 (思维题)

    C. Below the Diagonal You are given a square matrix consisting of n rows and n columns. We assume th ...

  3. ASP.NET MVC使用log4net

    本文介绍如何在ASP.NET MVC中使用log4net来记录日志文件. 参考链接:https://www.codeproject.com/Articles/823247/How-to-use-Apa ...

  4. python(os 模块)

    1.os.name 输出字符串指示正在使用的平台.如果是window 则用'nt'表示,对于Linux/Unix用户,它是'posix' import os print(os.name) #结果如下 ...

  5. 智能称体脂称实现(datasheet篇)

    (本文均出于个人理解而写,仅用于学习和交流,某些过程可能不一定正确,希望各位提出意见进行交流,共同进步) TI的参考方案是采用AFE4300芯片 同时进行生物阻抗身体成分测量和体重测量,以MSP430 ...

  6. libevent(十三)evhttp事件处理流程

    在libevent(六)http server中,作为一个单线程http server,不仅要监听每个连接的到来,还要监听每个连接上的I/O事件. 查看源码可知,在evhttp_bind_socket ...

  7. Dynamics 9.0 安装好后 公告出现 提示:出现错误。 请稍等片刻,然后重试。 如果问题仍然存在,请与管理员联系。

    此问题为系统的Bug,示例图如下: 解决方案为修改存储过程 p_RetrievePosts,将startDate参数的默认值改成 1900-01-01,endDate参数的默认值改成 9999-12- ...

  8. 带你看看Java的锁(一)-ReentrantLock

    前言 AQS一共花了5篇文章,对里面实现的核心源码都做了注解 也和大家详细描述了下,后面的几篇文字我将和大家聊聊一下AQS的实际使用,主要会聊几张锁,第一篇我会和大家聊下ReentrantLock 重 ...

  9. xml(3)

    xml的解析方式:dom解析和sax解析 DOM解析 使用jaxp进行增删改查 1.创建DocumentBuilderFactory工厂 2.通过DocumentBuilderFactory工厂创建D ...

  10. 关于oracle怎么看清楚字段的一些实践

    在oracle存储过程或者平时编码中会有很多时候对不上字段,这时候在字段逗号后面可以主动加上--数字. 还有的是应该注意尽量让每个字段都占有一行的空间.下面部分截图说明