最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

flask框架路由常用定義方式總結(jié)

 更新時(shí)間:2019年07月23日 09:07:57   作者:笑-笑-生  
這篇文章主要介紹了flask框架路由常用定義方式,結(jié)合實(shí)例形式總結(jié)分析了flask框架路由的常見(jiàn)定義方式與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了flask框架路由常用定義方式。分享給大家供大家參考,具體如下:

路由的各種定義方式

請(qǐng)求方式限定

使用 methods 參數(shù)指定可接受的請(qǐng)求方式,可以是多種

@app.route('/',methods=['GET'])
def hello():
  return '<h1>hello world</h1>'

路由查找方式

同一路由指向兩個(gè)不同的函數(shù),在匹配過(guò)程中,至上而下依次匹配

@app.route('/')
def hello():
  return '<h1>hello world</h1>'
@app.route('/')
def hello_2017():
  return '<h1>hello 2017</h1>'

所以上面路由 / 輸出的結(jié)果為 hello 函數(shù)的結(jié)果

給路由傳參示例

有時(shí)我們需要將同一類(lèi)URL映射到同一個(gè)視圖函數(shù)處理,比如:使用同一個(gè)視圖函數(shù) 來(lái)顯示不同用戶的個(gè)人信息。

路由傳遞的參數(shù)默認(rèn)當(dāng)做string處理,這里指定int,尖括號(hào)中的內(nèi)容是動(dòng)態(tài)的,也可不指定類(lèi)型

@app.route('/user/<int:id>')
def hello_itheima(id):
  return 'hello itcast %d' %id

重定向redirect示例

from flask import redirect
@app.route('/')
def hello_itheima():
  return redirect('http://www.itcast.cn')

返回JSON

from flask import Flask,json
@app.route('/json')
def do_json():
  hello = {"name":"stranger", "say":"hello"}
  return json.dumps(hello)

返回狀態(tài)碼示例

在 Python 中返回狀態(tài)碼有兩種方式實(shí)現(xiàn):

- 直接return 
    - 可以自定義返回狀態(tài)碼,可以實(shí)現(xiàn)不符合http協(xié)議的狀態(tài)碼,例如:error=666,errmsg='查詢(xún)數(shù)據(jù)庫(kù)異常',其作用是為了實(shí)現(xiàn)前后端數(shù)據(jù)交互的方便
- abort方法
    - 只會(huì)拋出符合http協(xié)議的異常狀態(tài)碼,用于手動(dòng)拋出異常

@app.route('/')
def hello_itheima():
  return 'hello itcast',666

正則路由示例

在web開(kāi)發(fā)中,可能會(huì)出現(xiàn)限制用戶訪問(wèn)規(guī)則的場(chǎng)景,那么這個(gè)時(shí)候就需要用到正則匹配,限制訪問(wèn),優(yōu)化訪問(wèn)

導(dǎo)入轉(zhuǎn)換器包

from werkzeug.routing import BaseConverter

自定義轉(zhuǎn)換器并實(shí)現(xiàn)

# 自定義轉(zhuǎn)換器
class Regex_url(BaseConverter):
  def __init__(self,url_map,*args):
    super(Regex_url,self).__init__(url_map)
    self.regex = args[0]
app = Flask(__name__)
# 將自定義轉(zhuǎn)換器類(lèi)添加到轉(zhuǎn)換器字典中
app.url_map.converters['re'] = Regex_url
@app.route('/user/<re("[a-z]{3}"):id>')
def hello_itheima(id):
  return 'hello %s' %id

自帶幾種轉(zhuǎn)換器

DEFAULT_CONVERTERS = {
  'default':     UnicodeConverter,
  'string':      UnicodeConverter,
  'any':       AnyConverter,
  'path':       PathConverter,
  'int':       IntegerConverter,
  'float':      FloatConverter,
  'uuid':       UUIDConverter,
}

希望本文所述對(duì)大家基于flask框架的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

古浪县| 大石桥市| 龙州县| 内江市| 正镶白旗| 平泉县| 绥宁县| 辉南县| 丹巴县| 麟游县| 苏尼特左旗| 小金县| 城市| 射阳县| 获嘉县| 丹凤县| 辉南县| 江都市| 凤城市| 平乡县| 土默特右旗| 大关县| 微博| 凤庆县| 海南省| 淮安市| 临西县| 三穗县| 梁平县| 赫章县| 大埔县| 泰兴市| 木里| 扶风县| 卫辉市| 内丘县| 开平市| 营口市| 乐昌市| 朔州市| 上高县|