flask 端口被占用
不正常退出會 端口被占用
OSError: [Errno 98] Address already in use
解決占用
查詢 5000 端口
netstat -tlnp|grep 5000
刪掉
kill -9 后面的數(shù)字
1卸奉、 https 為什么比 http 更安全?
http --> 超文本傳輸協(xié)議 -- 應用層 --> 端口80 --> http協(xié)議不適合傳輸一些敏感信息嗅虏,
比如:信用卡號扎阶、密碼等支付信息汹胃。
https --> 安全套接字層超文本傳輸協(xié)議 -- 傳輸層--> 端口443 --> 為了數(shù)據(jù)傳輸?shù)陌踩? HTTPS在HTTP的基礎上加入了SSL協(xié)議,SSL依靠證書來驗證服務器的身份
2东臀、format 格式化字符串的用法着饥?
1.作為拼接字符串進行使用
'{}'.format(變量)
2.保留小數(shù)
'{:.2f}'.format(12.333) 保留小數(shù)點后兩位
3.百分比格式
'{:.2%}'.format(0.333)
4.進制轉(zhuǎn)換
'{0:x}'.format(20) 轉(zhuǎn)換成十六進制
'{0:o}'.format(20) 轉(zhuǎn)換成八進制
進制轉(zhuǎn)換的時候用{0:進制}
5.對齊方式 '{a:<10}'.format(a=12.3,b=13.44)
左對齊,長度為10 '{a:0>10}'.format(a=12.3,b=13.44)
右對齊... '{a:0^10}'.format(a=12.3,b=13.44)
居中對齊... '{a:0<10}'.format(a=12.3,b=13.44)
數(shù)字補x (填充左邊)
6.轉(zhuǎn)義{和}符號
'{{ hello{0} }}'.format('python’)
f = ' hello {0} '.format
f('python’)
3惰赋、簡述七層協(xié)議 每一層的作用
1.應用層 : 與其它計算機進行通訊的一個應用贱勃,它是對應應用程序的通信服務的
2.表示層 : 這一層的主要功能是定義數(shù)據(jù)格式及加密
3.會話層 : 它定義了如何開始、控制和結(jié)束一個會話
4.傳輸層 : 這層的功能包括是否選擇差錯恢復協(xié)議還是無差錯恢復協(xié)議,
5.網(wǎng)絡層 : 這層對端到端的包傳輸進行定義贵扰,它定義了能夠標識所有結(jié)點的邏輯地址,還定義了路由實現(xiàn)的方式和學習的方式仇穗。
6.數(shù)據(jù)鏈路層 : 它定義了在單個鏈路上如何傳輸數(shù)據(jù)
7.物理層 : OSI的物理層規(guī)范是有關(guān)傳輸介質(zhì)的特性,這些規(guī)范通常也參考了其他組織制定的標準
4戚绕、Django 中間件具體執(zhí)行流程
執(zhí)行流程:
1纹坐、瀏覽器發(fā)送請求
2、Django網(wǎng)站, 產(chǎn)生 request 對象
3舞丛、調(diào)用中間件類中的 process_request
4耘子、url 的匹配(通過 URL 找對應的視圖)
5、調(diào)用中間件類中的 process_view
6球切、調(diào)用我們自己的視圖 view
7谷誓、調(diào)用中間件類中的 process_response
8、process_response 將響應內(nèi)容 返回給瀏覽器
五個中間件的作用吨凑?
process_request: 是在產(chǎn)生 request 對象, 進行 url 匹配之前調(diào)用
process_view: 是 url 匹配之后, 調(diào)用視圖函數(shù)之前調(diào)用
process_response: 視圖函數(shù)調(diào)用之后, 內(nèi)容返回給瀏覽器之前調(diào)用
process_exception: 視圖函數(shù)調(diào)用之后, 內(nèi)容返回給瀏覽器之前
如果注冊的多個中間件類中包含 process_exception 函數(shù)的時候, 調(diào)用的順序跟注冊的順序是相反的
1 進入Django中的請求都會執(zhí)行process_request方法;
2 Django返回的信息都會執(zhí)行process_response方法.;
5捍歪、有return 和 沒有 return 的區(qū)別?
process_request方法不能有return,一定要使用return的時候,要配合條件判斷語句執(zhí)行
process_response方法一定要有return,否則程序會運行錯誤
process_view方法不能有return,否則視圖函數(shù)不會執(zhí)行
process_exception方法只有在程序出現(xiàn)運行錯誤的時候才會執(zhí)行
process_exception方法設定return時,程序不會再執(zhí)行后續(xù)中間件中的process_exception
process_template_response方法只有在視圖函數(shù)中使用render方法返回信息的時候才會執(zhí)行
3鸵钝、Flask 框架第一天所學知識
Flask 里面的參數(shù)意義糙臼?
name 以當前傳入的模塊路徑為家目錄
加載配置有幾種?
1.從配置文件中加載 app.config.from_pyfile('config.cfg')
2.用類的方式加載 class Config(): DEBUG = True
app.config.from_pyfile((Config))
3.本身就是字典 適用于參數(shù)少的 app.config['DEBUG'] = True
run里面參數(shù)的意義?
host='0.0.0.0' 任意一臺電腦 port=5000 端口 debug=true
一個視圖可以綁定多個路由
轉(zhuǎn)換器就是為了匹配路由中的參數(shù)
轉(zhuǎn)換器:
1.整數(shù)
@app.route('/center/<int:uid>')
def center(uid):
return 'your uid is {0}'.format(uid)
2.字符串
@app.route('/center1/<string:uid>')
def center1(uid):
return 'your uid is {0}'.format(uid)
3.float
@app.route('/center4/<float:uid>')
def center4(uid):
return 'your uid is {0}'.format(uid)
4.默認轉(zhuǎn)換器
@app.route('/center2/<uid>')
def center2(uid):
return 'your uid is {0}'.format(uid)
5.path轉(zhuǎn)換器
@app.route('/center3/<uid>')
def center3(uid):
return 'your uid is {0}'.format(uid)
自定義轉(zhuǎn)換器
class MyConverter(BaseConverter):
# regex = r'd{5,10}'
regex = r'1[378]\d{9}'
def init(self,map,re):
super().init(map) # 讓父類的init執(zhí)行
self.regex = re