框架
flask是一个轻量的web开发应用
示例开发一个小应用
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'hello world'
if __name__ == '__main__':
app.run()
将它保存为hello.py,然后用Python解释器来运行,确保你的应用文件名不是flask.py,因为这将与flask本身冲突
python hello.py
数据库数据处理业务框架后端开发特点技术变更快知识面广业务综合用python 做后端开发要求web开发流程
- 用户需求
- 竞品分析
- 市场调研
- 前端技术选型
- 后端技术选型
- 数据库
- 业务框架
- 大数据处理相关:Hadoop Spark相关
- 在线直播相关:流技术
- 前后端开发,测试(坑多)
- 前后端部署(坑多)
- 前后端升级(坑多)
- 业务框架
-生产上线
- 部署升级
- 峰值处理
- 成本优化
- 警报处理
flask安装
virtualenv 安装 python环境
$ sudo apt-get install python-virtualenv
$ mkdir myproject
$ cd myproject
$ virtualenv venv
New python executable in venv/bin/python
Installing distribute............done.
$ . venv/bin/activate
$ pip install Flask
添加动态路由
我们修改一下第一个示例
from flask import Flask
from flask import request
app = Flask(__name__)
@app.route('/')
def index():
user_agent = request.headers.get('User-Agent')
return 'hello 镜心的小树屋
你的浏览器是 %s
' %user_agent
if __name__ == '__main__':
app.run(debug=True)
注意在这个视图函数中我们如何把 request 当作全局变量使用。事实上,request 不可能是
全局变量。试想,在多线程服务器中,多个线程同时处理不同客户端发送的不同请求时,
每个线程看到的 request 对象必然不同。Falsk 使用上下文让特定的变量在一个线程中全局
可访问,与此同时却不会干扰其他线程。
注意:
线程是可单独管理的最小指令集。进程经常使用多个活动线程,有时还会共
享内存或文件句柄等资源。多线程 Web 服务器会创建一个线程池,再从线
程池中选择一个线程用于处理接收到的请求。
实例: 用flask 写个博客用户认证
大多数程序都要进行用户跟踪。用户连接程序时会进行身份认证,通过这一过程,让程序
知道自己的身份。程序知道用户是谁后,就能提供有针对性的体验。
最常用的认证方法要求用户提供一个身份证明(用户的电子邮件或用户名)和一个密码。
我们将用到:
除了认证相关的包之外,本章还用到如下常规用途的扩展。:
生成requirements.txt文件: pip freeze > requirements.txt
安装requirements.txt依赖: pip install -r requirements.txtDjango安装
$ sudo apt-get install python-virtualenv
$ mkdir myproject
$ cd myproject
$ virtualenv venv
New python executable in venv/bin/python
Installing distribute............done.
$ . venv/bin/activate
$ pip install Django
django 中文文档
参考
Flask Web开发:基于Python的Web应用开发实战
Flask 开发文档
eastossifrage/pyblog