摘要:試想,在多線程服務(wù)器中,多個(gè)線程同時(shí)處理不同客戶端發(fā)送的不同請求時(shí),每個(gè)線程看到的對象必然不同。多線程服務(wù)器會(huì)創(chuàng)建一個(gè)線程池,再從線程池中選擇一個(gè)線程用于處理接收到的請求。
框架
Django
flask
flask是一個(gè)輕量的web開發(fā)應(yīng)用
示例開發(fā)一個(gè)小應(yīng)用
from flask import Flask app = Flask(__name__) @app.route("/") def hello_world(): return "hello world" if __name__ == "__main__": app.run()
將它保存為hello.py,然后用Python解釋器來運(yùn)行,確保你的應(yīng)用文件名不是flask.py,因?yàn)檫@將與flask本身沖突
python hello.py
web.py
web2py
數(shù)據(jù)庫mysql
redis
mongodb
數(shù)據(jù)處理padans
numpy
scipy
sklearn
業(yè)務(wù)框架spark
hadoop
AWS
docker
后端開發(fā)特點(diǎn) 技術(shù)變更快編程語言
行業(yè)
項(xiàng)目
知識面廣前端,后端,前后端結(jié)合/分離
大數(shù)據(jù),分布式
數(shù)據(jù)庫,關(guān)系型/非關(guān)系型
操作系統(tǒng),開源項(xiàng)目
業(yè)務(wù)綜合設(shè)計(jì)邏輯
實(shí)現(xiàn)
優(yōu)化
部署(比如支付模塊需要獨(dú)立部署,支付是比較強(qiáng)調(diào)安全性,一致性的業(yè)務(wù))
用python 做后端開發(fā) 要求熟悉python語言
熟悉一款開發(fā)工具(我用sublime 和 pycharm)
熟悉 一到兩種開發(fā)框架
數(shù)據(jù)前后端結(jié)合、分離技術(shù)
web開發(fā)流程產(chǎn)品分析
- 用戶需求
- 競品分析
- 市場調(diào)研
技術(shù)選型
- 前端技術(shù)選型
- 后端技術(shù)選型
- 數(shù)據(jù)庫
- 業(yè)務(wù)框架
- 大數(shù)據(jù)處理相關(guān):Hadoop Spark相關(guān)
- 在線直播相關(guān):流技術(shù)
開發(fā)實(shí)現(xiàn)
- 前后端開發(fā),測試(坑多)
- 前后端部署(坑多)
- 前后端升級(坑多)
- 業(yè)務(wù)框架
- 生產(chǎn)上線
- 部署升級
- 峰值處理
- 成本優(yōu)化
- 警報(bào)處理
virtualenv 安裝 python環(huán)境
$ 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
添加動(dòng)態(tài)路由
我們修改一下第一個(gè)示例
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)
注意在這個(gè)視圖函數(shù)中我們?nèi)绾伟?request 當(dāng)作全局變量使用。事實(shí)上,request 不可能是
全局變量。試想,在多線程服務(wù)器中,多個(gè)線程同時(shí)處理不同客戶端發(fā)送的不同請求時(shí),
每個(gè)線程看到的 request 對象必然不同。Falsk 使用上下文讓特定的變量在一個(gè)線程中全局
可訪問,與此同時(shí)卻不會(huì)干擾其他線程。
注意:
線程是可多帶帶管理的最小指令集。進(jìn)程經(jīng)常使用多個(gè)活動(dòng)線程,有時(shí)還會(huì)共 享內(nèi)存或文件句柄等資源。多線程 Web 服務(wù)器會(huì)創(chuàng)建一個(gè)線程池,再從線 程池中選擇一個(gè)線程用于處理接收到的請求。實(shí)例: 用flask 寫個(gè)博客 用戶認(rèn)證
大多數(shù)程序都要進(jìn)行用戶跟蹤。用戶連接程序時(shí)會(huì)進(jìn)行身份認(rèn)證,通過這一過程,讓程序
知道自己的身份。程序知道用戶是誰后,就能提供有針對性的體驗(yàn)。
最常用的認(rèn)證方法要求用戶提供一個(gè)身份證明(用戶的電子郵件或用戶名)和一個(gè)密碼。
我們將用到:
Flask-Login: 管理已登錄用戶的用戶會(huì)話
Werkzeug:計(jì)算密碼散列值并進(jìn)行核對
itsdangerous: 生成并核對加密安全令牌
除了認(rèn)證相關(guān)的包之外,本章還用到如下常規(guī)用途的擴(kuò)展。:
Flask-Mail: 發(fā)送與認(rèn)證相關(guān)的電子郵件
Flask-Bootstrap: HTML模板
Flask-WTF: Web 表單
生成requirements.txt文件: pip freeze > requirements.txtDjango 安裝
安裝requirements.txt依賴: pip install -r requirements.txt
$ 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開發(fā):基于Python的Web應(yīng)用開發(fā)實(shí)戰(zhàn)
Flask 開發(fā)文檔
eastossifrage/pyblog
https://blog.miguelgrinberg.c...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/44649.html
摘要:今天逛了逛,順手精選出了一下近幾個(gè)月以來上最熱門的個(gè)項(xiàng)目。相關(guān)閱讀正式開源,幫助應(yīng)用快速容器化未來可能會(huì)上熱門的項(xiàng)目地址介紹哈哈,皮一下很開心。這是我自己開源的一份文檔,目前仍在完善中,歡迎各位英雄好漢一起完善。 showImg(https://segmentfault.com/img/remote/1460000015766827?w=391&h=220);今天逛了逛Github,順...
摘要:前端日報(bào)精選大前端公共知識梳理這些知識你都掌握了嗎以及在項(xiàng)目中的實(shí)踐深入貫徹閉包思想,全面理解閉包形成過程重溫核心概念和基本用法前端學(xué)習(xí)筆記自定義元素教程阮一峰的網(wǎng)絡(luò)日志中文譯回調(diào)是什么鬼掘金譯年,一個(gè)開發(fā)者的好習(xí)慣知乎專 2017-06-23 前端日報(bào) 精選 大前端公共知識梳理:這些知識你都掌握了嗎?Immutable.js 以及在 react+redux 項(xiàng)目中的實(shí)踐深入貫徹閉包思...
摘要:行爬取頂點(diǎn)全網(wǎng)任意小說掘金之前連續(xù)多篇文章介紹客戶端爬取平臺,今天我們從零開始,實(shí)現(xiàn)爬取頂點(diǎn)小說網(wǎng)任意一本小說的功能。文件標(biāo)記所有文件我的后端書架后端掘金我的后端書架月前本書架主要針對后端開發(fā)與架構(gòu)。 30行js爬取頂點(diǎn)全網(wǎng)任意小說 - 掘金之前連續(xù)多篇文章介紹客戶端爬取平臺(dspider),今天我們從零開始,實(shí)現(xiàn)爬取頂點(diǎn)小說網(wǎng)任意一本小說的功能。 如果你還不知道客戶端爬取,可以先看...
摘要:行爬取頂點(diǎn)全網(wǎng)任意小說掘金之前連續(xù)多篇文章介紹客戶端爬取平臺,今天我們從零開始,實(shí)現(xiàn)爬取頂點(diǎn)小說網(wǎng)任意一本小說的功能。文件標(biāo)記所有文件我的后端書架后端掘金我的后端書架月前本書架主要針對后端開發(fā)與架構(gòu)。 30行js爬取頂點(diǎn)全網(wǎng)任意小說 - 掘金之前連續(xù)多篇文章介紹客戶端爬取平臺(dspider),今天我們從零開始,實(shí)現(xiàn)爬取頂點(diǎn)小說網(wǎng)任意一本小說的功能。 如果你還不知道客戶端爬取,可以先看...
平日學(xué)習(xí)接觸過的網(wǎng)站積累,以每月的形式發(fā)布。2017年以前看這個(gè)網(wǎng)址:http://www.kancloud.cn/jsfron... 03月份前端資源分享 1. Javascript 175453545 Redux compose and middleware 源碼分析 深入 Promise(二)——進(jìn)擊的 Promise Effective JavaScript leeheys blog -...
閱讀 2045·2023-04-26 01:33
閱讀 1671·2023-04-26 00:52
閱讀 1055·2021-11-18 13:14
閱讀 5476·2021-09-26 10:18
閱讀 2922·2021-09-22 15:52
閱讀 1502·2019-08-29 17:15
閱讀 3031·2019-08-29 16:11
閱讀 1049·2019-08-29 16:11