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

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

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

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

    def __init__(
self,
import_name,
static_url_path=None,    
static_folder="static", # 静态文件存放
static_host=None,      # 开启服务器端口 默认5000
host_matching=False,
subdomain_matching=False,
template_folder="templates", # html文件存放
instance_path=None,
instance_relative_config=False,
root_path=None,
):

二、路由注册:集中注册

from flask import Flask

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

三、路由重定向

from flask import Flask

app = Flask(__name__)
# flask中 /login和 /login/ 对待成两个不同的url redirect_to 强制重定向到/
@app.route("/login", redirect_to="/")
# 此时访问/login/ 会404
def login():
return 'login1' @app.route("/")
def index():
return 'index' @app.route("/login/")
# 此时访问/login 会返回成功 永久重定向 308 到/cases/
def login_1():
return 'login2/' if __name__ == '__main__':
app.run()

四、获取动态参数

from flask import Flask,request
app = Flask(__name__)
# 通过尖括号表示变化的内容 注意设置数据类型@app.route("/cases/<int:id>")
# string:id 不能包含斜杠 path:id 可以包含斜杠def get_case(id): return f'{id}'
# defaults 设置默认值 也可以通过视图函数设置
@app.route("/case/<id>", defaults={"id": 3})
def get_case_1(id=None):
id = request.args.get("id")return id if __name__ == '__main__':
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. vue中 $refs的基本用法

    骚年,我看你骨骼惊奇,有撸代码的潜质,这里有324.57GB的前端学习资料传授于你!什么,你不信??? 先随便看几个图: 肯定没看够.再来个GIF图热个身??? 那么问题来了,如果你也想入坑前端或者学 ...

  2. echarts自定义tooltip显示

    使用echarts展示图形的时候,鼠标滑倒图像上,想展示除了系列名,数据名,数据值以外的数据,这时需要使用tooltip的fommater方式进行配置,另外对数据格式也有一定的要求. 如图所示:如果想 ...

  3. 2019年 ICPC亚洲区预赛(上海赛区)总结

    首先,我要说,我输了,输给了自己的无知,输给了自己的心态与实力. 上海区域赛,打铁而归,最终还是没有比过自己SLG的朋友.要说什么呢?实力的差距,还是说给自己的失败找借口?不能进入金牌区,为什么铜牌区 ...

  4. python-unittest环境下单独运行一个用例的方法

    在unittest单元测试的框架下,想要调出如图所示的绿三角 需要有两个步骤: 1.确定在工具栏中时在unittest模式下运行的,如果为普通模式的话可以通过下三角下拉修改运行环境: 2.在代码中im ...

  5. python-函数变量与方法公有、私有整理

    关于函数与方法的区别: 函数: def funname(): 括号里面可以有形参,也可以没有,为空 在函数里面的参数整理: 方法: def funcname(self): 括号里面必须有个self,因 ...

  6. C/S程序设计范式

    在socket编程之并发回射服务器3篇文章中,提到了3种设计范式: 多进程 父进程阻塞于accept调用,然后为每个连接创建一个子进程. 多线程 主线程阻塞于accept调用,然后为每个连接创建一个子 ...

  7. 复数(complex)

    表示复数信息 a = 12.3+4j print('a的类型为:', type(a)) # 运行结果:a的类型为: <class 'complex'> print(a.real) # 实部 ...

  8. turtle库应用实例-五角星绘制

    五角星绘制 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬ ...

  9. 如何将PHP7达到最高性能

    PHP7 VS PHP5.6 1. Opcache 记得启用Zend Opcache, 因为PHP7即使不启用Opcache速度也比PHP-5.6启用了Opcache快, 所以之前测试时期就发生了有人 ...

  10. Android 8.1 关机充电动画(三)Android模式

    system:Android 8.1 platform:RK3326/PX30 uboot kernel system/core/healthd Android 8.1 关机充电动画(一)模式选择 A ...