资讯专栏INFORMATION COLUMN

Python学习笔记:Web后端开发一览

DrizzleX / 1321人阅读

摘要:试想,在多线程服务器中,多个线程同时处理不同客户端发送的不同请求时,每个线程看到的对象必然不同。多线程服务器会创建一个线程池,再从线程池中选择一个线程用于处理接收到的请求。

框架

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 "

hello 镜心的小树屋


你的浏览器是 %s

" %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...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/44649.html

相关文章

  • 近几个月Github上最热门的Java项目一览

    摘要:今天逛了逛,顺手精选出了一下近几个月以来上最热门的个项目。相关阅读正式开源,帮助应用快速容器化未来可能会上热门的项目地址介绍哈哈,皮一下很开心。这是我自己开源的一份文档,目前仍在完善中,欢迎各位英雄好汉一起完善。 showImg(https://segmentfault.com/img/remote/1460000015766827?w=391&h=220);今天逛了逛Github,顺...

    cyqian 评论0 收藏0
  • 2017-06-23 前端日报

    摘要:前端日报精选大前端公共知识梳理这些知识你都掌握了吗以及在项目中的实践深入贯彻闭包思想,全面理解闭包形成过程重温核心概念和基本用法前端学习笔记自定义元素教程阮一峰的网络日志中文译回调是什么鬼掘金译年,一个开发者的好习惯知乎专 2017-06-23 前端日报 精选 大前端公共知识梳理:这些知识你都掌握了吗?Immutable.js 以及在 react+redux 项目中的实践深入贯彻闭包思...

    Vixb 评论0 收藏0
  • 资源集 - 收藏集 - 掘金

    摘要:行爬取顶点全网任意小说掘金之前连续多篇文章介绍客户端爬取平台,今天我们从零开始,实现爬取顶点小说网任意一本小说的功能。文件标记所有文件我的后端书架后端掘金我的后端书架月前本书架主要针对后端开发与架构。 30行js爬取顶点全网任意小说 - 掘金之前连续多篇文章介绍客户端爬取平台(dspider),今天我们从零开始,实现爬取顶点小说网任意一本小说的功能。 如果你还不知道客户端爬取,可以先看...

    stdying 评论0 收藏0
  • 资源集 - 收藏集 - 掘金

    摘要:行爬取顶点全网任意小说掘金之前连续多篇文章介绍客户端爬取平台,今天我们从零开始,实现爬取顶点小说网任意一本小说的功能。文件标记所有文件我的后端书架后端掘金我的后端书架月前本书架主要针对后端开发与架构。 30行js爬取顶点全网任意小说 - 掘金之前连续多篇文章介绍客户端爬取平台(dspider),今天我们从零开始,实现爬取顶点小说网任意一本小说的功能。 如果你还不知道客户端爬取,可以先看...

    马忠志 评论0 收藏0
  • 2017年3月份前端资源分享

    平日学习接触过的网站积累,以每月的形式发布。2017年以前看这个网址:http://www.kancloud.cn/jsfron... 03月份前端资源分享 1. Javascript 175453545 Redux compose and middleware 源码分析 深入 Promise(二)——进击的 Promise Effective JavaScript leeheys blog -...

    ermaoL 评论0 收藏0

发表评论

0条评论

DrizzleX

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<