4

框架

  • Django
  • flask

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
  • web.py
  • web2py

数据库

  • mysql
  • redis
  • mongodb

数据处理

  • padans
  • numpy
  • scipy
  • sklearn

业务框架

  • spark
  • hadoop
  • AWS
  • docker

后端开发特点

技术变更快

  • 编程语言
  • 行业
  • 项目

知识面广

  • 前端,后端,前后端结合/分离
  • 大数据,分布式
  • 数据库,关系型/非关系型
  • 操作系统,开源项目

业务综合

  • 设计逻辑
  • 实现
  • 优化
  • 部署(比如支付模块需要独立部署,支付是比较强调安全性,一致性的业务)

用python 做后端开发

要求

  • 熟悉python语言
  • 熟悉一款开发工具(我用sublime 和 pycharm)
  • 熟悉 一到两种开发框架
  • 数据前后端结合、分离技术

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 '<h1>hello 镜心的小树屋</h1><br><p>你的浏览器是 %s </p>' %user_agent

if __name__ == '__main__':
    app.run(debug=True)

注意在这个视图函数中我们如何把 request 当作全局变量使用。事实上,request 不可能是
全局变量。试想,在多线程服务器中,多个线程同时处理不同客户端发送的不同请求时,
每个线程看到的 request 对象必然不同。Falsk 使用上下文让特定的变量在一个线程中全局
可访问,与此同时却不会干扰其他线程。
图片描述
注意:

线程是可单独管理的最小指令集。进程经常使用多个活动线程,有时还会共
享内存或文件句柄等资源。多线程 Web 服务器会创建一个线程池,再从线
程池中选择一个线程用于处理接收到的请求。

实例: 用flask 写个博客

用户认证

大多数程序都要进行用户跟踪。用户连接程序时会进行身份认证,通过这一过程,让程序
知道自己的身份。程序知道用户是谁后,就能提供有针对性的体验。
最常用的认证方法要求用户提供一个身份证明(用户的电子邮件或用户名)和一个密码。
我们将用到:

  • Flask-Login: 管理已登录用户的用户会话
  • Werkzeug:计算密码散列值并进行核对
  • itsdangerous: 生成并核对加密安全令牌

除了认证相关的包之外,本章还用到如下常规用途的扩展。:

  • Flask-Mail: 发送与认证相关的电子邮件
  • Flask-Bootstrap: HTML模板
  • Flask-WTF: Web 表单
生成requirements.txt文件: pip freeze > requirements.txt
安装requirements.txt依赖: pip install -r requirements.txt

Django

安装

$ 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
https://blog.miguelgrinberg.c...


白鲸鱼
1k 声望110 粉丝

方寸湛蓝