python web 框架:
靜態網頁:無法與伺服器做動態互動的網頁。
動態網頁:允許與伺服器動態互動的網頁。
網頁(html,css,js)
能夠給使用者提供服務的機器就稱為「伺服器」。
硬體 與 軟體
硬體: 一台計算機可以理解為一台伺服器
軟體: 乙個能夠結束使用者請求並給出響應的程式也可理解為伺服器
apache(阿帕奇)
tomcat(神社)
iis(internet information service)
nginx
伺服器的作用
儲存web上的資訊
能夠處理使用者的請求(request)並給出響應
執行伺服器端的程式
具備一定的安全功能
框架是乙個為了解決開放性問題而存在的一中結構。
框架本身會提供一些基礎的功能,我們只需要在基礎功能之上搭建自己的操作即可。
1. flask - 輕量級
2. webpy - 輕量級
3. tornado - 非同步框架
4. django - 重量級框架
mtv
m : models , 模型層,主要負責根據資料庫建模
t : templates , 模板層,處理使用者的顯示內容,如:html
v : views , 檢視,處理與使用者互動的內容(請求和響應)
mvcm : models , 模型層,主要負責根據資料庫建模
v : views , 檢視層,處理使用者的顯示內容的,如html
c : controller , 處理與使用者互動的內容(請求和響應)
flask是乙個基於python並且依賴於jinja2模板引擎和werkzeug wsgi服務的乙個微型框架。
flask中包含乙個輕量級的web 伺服器主要用於在開發階段測試使用。
wsgi : web server gateway inte***ce (web服務閘道器介面)
1.檢視已安裝的flask 及其版本
在python的互動模式中:
1. import flask
如果報錯: 說明匯入失敗,沒有安裝。
2. flask.__version__
已安裝flask的情況下,檢視其版本
2.安裝flask
sudo pip3 install flask
pip3 download flask
3.flask 的初始化
from flask import flask, url_for
def index( ):
return 『***』
if __name__=="__main__":
客戶端傳送請求給伺服器,伺服器需要將請求傳送給flask程式執行。
程式例項需要知道每個url請求對應的處理**是誰,所以程式中必須要有乙個url請求位址到python執行
函式的乙個對映,處理url和函式之間的關係程度就是「路由」。
1.路由的基本表示:
#
'/')
defindex()
:return
"***"
#manager/admin/login
'/manager/admin/login'
)def
login()
:return
"***"
2.帶引數的路由
路由中可以攜帶引數來表示要傳遞到檢視中的資料。
# 1.基本帶引數的路由
"/show/"
)def
show1
(name)
: name:表示的就是位址列上傳遞的資料
pass
# 2.指定引數型別的路由
# 允許在宣告路由時指定引數型別避免了在程式中再次轉換。
'/show/'
)def
show
(name,age)
: name:字串
age:整數
# int:型別轉換flask中所支援的型別轉換器:
型別轉換器 作用
預設 字串,不能有斜槓(/)
int: 整型
float: 浮點型
path: 字串,可以有斜槓(/)
3.多url 的路由匹配
為多個url訪問位址匹配同乙個檢視函式:
...def index():
pass
在flask中預設只能接收get請求,無法接收post接收。
在flask中允許設定可以接收的請求方式,如果請求方式不匹配的話,會響應回405(method not allowed)
def ***( ):
該函式既能接收post請求也能接收get請求。
在flask中,要實現反向解析:
url_for(funname, args)
funname : 要生成位址的函式名
模板:就是在flask中就是允許響應給使用者看的【網頁】。
在模板中,允許嵌入動態的內容;
模板最終也會被解析成字串再響應給客戶端,這一過程稱為「渲染」。
flask中,模板是依賴於jinja2的模板系統,
預設情況下,flask會在程式目錄中搜尋乙個【templates】的目錄作為模板的存放目錄。
作用:在檢視中,將模板檔案(xx.html)渲染成字串以後,再響應給瀏覽器。
語法:
from flask import render_template # 匯入方法
str = render_template('***.html')
引數: 要渲染的模版
返回值: 該模板中的字串內容
傳遞變數到模板中:
render_template('***.html', 變數=值, 變數=值, ...)
在模板中獲取變數的值:
}
在終端中:
命令:netstat -lptu
> 查詢到占用某埠的程序的pid號
命令:sudo kill -9 程序id
> 殺死這個程序
flask框架 路由
1.利用methods限制訪問方式 render template 返回頁面 request 一切瀏覽器請求的內容都封裝到request物件中 request.method 來判斷訪問方式 method 設定請求訪問方式 from flask import flask,render template...
CodeIgniter框架URL路由總結
uri 路由 一般來說,uri字串有著和它唯一對應的控制器 controller 類 方法。uri的各個部分是如下模式 pattern 複製 如下 然而在一些例子中,你也許想重定向這種關係來呼叫乙個不同的類 方法 class function 而不是與url一一對應 的呼叫 例如,你可能想使你的ur...
flask裡的路由變數 動態URL
有時我們需要將同一類 url 對映到同乙個檢視函式處理,比如 使用同乙個檢視函式來顯示不同使用者的個人資訊。這時可以設定路由變數讓檢視函式可以繫結動態url。設定路由變數 格式 路由變數 def user info user id return hello s user id在 web 開發中,可能...