Python之Flask框架一
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框架一的更多相关文章
- Python基于Flask框架配置依赖包信息的项目迁移部署小技巧
一般在本机上完成基于Flask框架的代码编写后,如果有接口或者数据操作方面需求需要把代码部署到指定服务器上. 一般情况下,使用Flask框架开发者大多数都是选择Python虚拟环境来运行项目,不同的虚 ...
- python之Flask框架
一.简单的Flask框架 1)flask简介 Flask 是一个 web 框架.也就是说 Flask 为你提供工具,库和技术来允许你构建一个 web 应用程序. 这个 wdb 应用程序可以使一些 we ...
- 使用Python的Flask框架,结合Highchart,动态渲染图表(Ajax 请求数据接口)
参考链接:https://www.highcharts.com.cn/docs/ajax 参考链接中的示例代码是使用php写的,这里改用python写. 需要注意的地方: 1.接口返回的数据格式,这个 ...
- Python的Flask框架入门-Ubuntu
全文请见tuts code:An Introduction to Python's Flask Framework Flask是Python一个小而强大的web框架.学起来简单,用起来也容易,能够帮你 ...
- Python之Flask框架项目Demo入门
Python+Flask框架项目Demo入门 本例子用到了 Flask+蓝图+Flask-Login+SQLAlchemy+WTForms+PyMySQL相关架构 Flask Web框架介绍 Flas ...
- Python 的 Flask 框架安装应用
Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱採用 Werkzeug ,模板引擎则使用 Jinja2 ,使用 BSD 授权. Flask也被称为 " ...
- Python之Flask框架使用
Flask和Django.Bottle号称Python中的强大又简单的Web框架. Flask是一个使用Python编写的轻量级Web应用框架.基于Werkzeug WSGI工具箱和Jinja2 模板 ...
- Python之flask框架2
Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务.本文参考自Flask官方文档,大部分代码引用自官方文档. 安装flask 首先我们来安装F ...
- [Python自学] Flask框架 (1) (Flask介绍、配置、Session、路由、请求和响应、Jinjia2模板语言、视图装饰器)
oldboy:s9day114 参考博客:https://www.cnblogs.com/wupeiqi/articles/7552008.html 一.Flask简介 1.安装Flask pip i ...
- Python的Flask框架开发RESTful API
web框架选择 Django,流行但是笨重,还麻烦,人生苦短,肯定不选 web.py,轻量,但据说作者仙逝无人维护,好吧,先pass tornado,据说倡导自己造轮子,虽然是facebook开源的吧 ...
随机推荐
- 获得CCNA和CCNP及CCIE认证的必备条件和有效期绍
CCNA认证培训介绍 CCNA认证(CCNA-思科网络安装和支持认证助理)是整个Cisco认证体系中最初级的认证,同时它也是获得CCNP认证.CCDP认证和CCSP认证的必要条件(CCIP认证.CCI ...
- 【阅读笔记】Ranking Relevance in Yahoo Search (一)—— introduction & background
ABSTRACT: 此文在相关性方面介绍三项关键技术:ranking functions, semantic matching features, query rewriting: 此文内容基于拥有百 ...
- python(内置高阶函数)
1.高阶函数介绍: 一个函数可以作为参数传给另外一个函数,或者一个函数的返回值为另外一个函数(若返回值为该函数本身,则为递归),如果满足其一,则为高阶函数. 常见的高阶函数:map().sorted( ...
- 重新认识Java注解
重新认识Java注解 今天Debug看源码的时候,无意间看到这么个东西 首先承认我的无知,看到这个我很惊诧. 也勾起了我的好奇心,于是有了这篇认知记录. 下面就来重新认识下注解吧! 注解的本质 关于运 ...
- 更安全的rm命令,保护重要数据
更安全的rm命令,保护重要数据 网上流传的安全的rm,几乎都是提供一个rm的"垃圾"回收站,在服务器环境上来说,这实非良方. 我想,提供一个安全的rm去保护一些重要的文件或目录不被 ...
- 送你一份Redis书单,以后使用缓存的问题不用再问我啦!
点击蓝色"程序员书单"关注我哟 加个"星标",每天带你读好书!
- C# 基础至集合-数组、List<T>、ArrayList、LinkedList、HashMap的一些区别
1:数组 ]; //赋值 strs[] = "; strs[] = "; //修改 strs[] = "burg"; //删除 没法删除 除非转化为可变数组li ...
- LabVIEW(数据库连接)
Driver={Microsoft Access Driver (*.mdb)}; Dbq=路径; Uid=Admin; Pwd=密码; 插入: INSERT INTO xs(学号,姓名,专业名,性别 ...
- 设计模式之GOF23代理模式02
静态代理 模拟经纪人与明星开演唱会 public interface Star { /** * 面谈 */ void confer(); /** * 签合同 */ void sign ...
- JDBC02 加载JDBC驱动 建立连接
JDBC(Java Database Connection)为Java开发者使用数据库提供了统一的编程接口 sun公司由于不知道各个主流商用数据库的程序代码,因此无法自己写代码连接各个数据库,因此su ...