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开源的吧 ...
随机推荐
- CodeForces-1058B B. Vasya and Cornfield
这题,我真的不知道题解是啥,自己看代码吧. #include<iostream> using namespace std; int main() { int n, d,m,i,x,y; c ...
- 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 ...
- ASP.NET MVC使用log4net
本文介绍如何在ASP.NET MVC中使用log4net来记录日志文件. 参考链接:https://www.codeproject.com/Articles/823247/How-to-use-Apa ...
- python(os 模块)
1.os.name 输出字符串指示正在使用的平台.如果是window 则用'nt'表示,对于Linux/Unix用户,它是'posix' import os print(os.name) #结果如下 ...
- 智能称体脂称实现(datasheet篇)
(本文均出于个人理解而写,仅用于学习和交流,某些过程可能不一定正确,希望各位提出意见进行交流,共同进步) TI的参考方案是采用AFE4300芯片 同时进行生物阻抗身体成分测量和体重测量,以MSP430 ...
- libevent(十三)evhttp事件处理流程
在libevent(六)http server中,作为一个单线程http server,不仅要监听每个连接的到来,还要监听每个连接上的I/O事件. 查看源码可知,在evhttp_bind_socket ...
- Dynamics 9.0 安装好后 公告出现 提示:出现错误。 请稍等片刻,然后重试。 如果问题仍然存在,请与管理员联系。
此问题为系统的Bug,示例图如下: 解决方案为修改存储过程 p_RetrievePosts,将startDate参数的默认值改成 1900-01-01,endDate参数的默认值改成 9999-12- ...
- 带你看看Java的锁(一)-ReentrantLock
前言 AQS一共花了5篇文章,对里面实现的核心源码都做了注解 也和大家详细描述了下,后面的几篇文字我将和大家聊聊一下AQS的实际使用,主要会聊几张锁,第一篇我会和大家聊下ReentrantLock 重 ...
- xml(3)
xml的解析方式:dom解析和sax解析 DOM解析 使用jaxp进行增删改查 1.创建DocumentBuilderFactory工厂 2.通过DocumentBuilderFactory工厂创建D ...
- 关于oracle怎么看清楚字段的一些实践
在oracle存储过程或者平时编码中会有很多时候对不上字段,这时候在字段逗号后面可以主动加上--数字. 还有的是应该注意尽量让每个字段都占有一行的空间.下面部分截图说明