Python學習筆記:Web後端開發一覽

框架

  • Django
  • flask

flask是一個輕量的web開發應用
示例開發一個小應用html

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開發流程

圖片描述

  • 產品分析

  - 用戶需求
  - 競品分析
  - 市場調研python

  • 技術選型

 - 前端技術選型
 - 後端技術選型
 - 數據庫
 - 業務框架
  - 大數據處理相關:Hadoop Spark相關
  - 在線直播相關:流技術mysql

  • 開發實現

 -  先後端開發,測試(坑多)
 -  先後端部署(坑多)
 -  先後端升級(坑多)
 -  業務框架git

- 生產上線
 -  部署升級
 -  峯值處理
 -  成本優化
 -  警報處理
 github

flask

安裝

virtualenv 安裝 python環境web

$ 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

圖片描述
添加動態路由
圖片描述
咱們修改一下第一個示例redis

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 使用上下文讓特定的變量在一個線程中全局
可訪問,與此同時卻不會干擾其餘線程。
圖片描述
注意:sql

線程是可單獨管理的最小指令集。進程常常使用多個活動線程,有時還會共
享內存或文件句柄等資源。多線程 Web 服務器會建立一個線程池,再從線
程池中選擇一個線程用於處理接收到的請求。

實例: 用flask 寫個博客

用戶認證

大多數程序都要進行用戶跟蹤。用戶鏈接程序時會進行身份認證,經過這一過程,讓程序
知道本身的身份。程序知道用戶是誰後,就能提供有針對性的體驗。
最經常使用的認證方法要求用戶提供一個身份證實(用戶的電子郵件或用戶名)和一個密碼。
咱們將用到:mongodb

  • 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...

相關文章
相關標籤/搜索