網(wǎng)站搜索怎么做常見的網(wǎng)絡(luò)營銷推廣方式有哪些
1. 前言
在上一節(jié)中,我們使用到了靜態(tài)路由,即一個路由規(guī)則對應(yīng)一個 URL。而在實際應(yīng)用中,更多使用的則是動態(tài)路由,它的 URL是可變的。
2. 定義一個很常見的路由地址
@app.route('/user/<username>')
def user(username):return 'User %s' % username
username 作為參數(shù),傳入 user() 函數(shù)當中。
需要記住的是,在定義路由的參數(shù)名時一定要與定義函數(shù)的變量名一致,否則就會引發(fā)異常。
3. Flask 提供了三種轉(zhuǎn)換器
- int:整型;
- float:浮點數(shù);
- path:路徑。
雖不包含正則表達式,但是可以手動添加。
from werkzeug.routing import BaseConverterclass RegexConverter(BaseConverter):def __init__(self, url_map, *items):super(RegexConverter, self).__init__(url_map)self.regex = items[0]app.url_map.converters['regex'] = RegexConverter@app.route('/user/<regex("[a-z]{3}"):user_id>')
def user(user_id):return 'User %s' % user_id
這里代碼塊就添加了一個正則表達式,要求三個字符。
4. 比較友好的路由定義方式
@app.route('/projects/')
def projects():return 'The project page'
路徑后面加一個斜杠。
5. 也可以多個定義,同時指向同一個頁面
@app.route('/works/')
@app.route('/projects/')
def projects():return 'The project page'
6. http方法
在路由定義里面也同樣包括 http 的方法,即 GET、POST 等。
@app.route('/login', methods=['GET', 'POST'])
常見的 http 方法:
GET:瀏覽器告知服務(wù)器,只獲取頁面上的信息并發(fā)送給我。這是最常用的方法。POST:瀏覽器告訴服務(wù)器,想在 URL 上發(fā)布新消息。并且服務(wù)器必須確保數(shù)據(jù)已存儲且僅存儲一次。這是 HTML 表單通常發(fā)送數(shù)據(jù)到服務(wù)器的方法。
PUT:類似 POST,但服務(wù)器可能多次觸發(fā)了存儲過程,并且多次覆蓋掉舊值。你可能會問這有什么用,當然這是有原因的??紤]到傳輸中連接可能會丟失,在這種情況下瀏覽器和服務(wù)器之間的系統(tǒng)可能安全地第二次接收請求,而不破壞其他東西。因為 POST 它只觸發(fā)一次,所以用 POST 是不可能的。
DELETE:刪除給定位置的信息。
HEAD:瀏覽器告訴服務(wù)器,欲獲取數(shù)據(jù),但是只關(guān)心消息頭。應(yīng)像 GET 請求一樣來處理它,但是不分發(fā)實際內(nèi)容。在 Flask 中你完全無需人工干預(yù),底層的
Werkzeug
庫已經(jīng)幫你打點好了。OPTIONS:給客戶端提供一個敏捷的途徑來弄清這個 URL 支持哪些 http 方法。從 Flask 0.6 開始,實現(xiàn)了自動處理。