欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

flask框架視圖函數(shù)用法示例

 更新時(shí)間:2018年07月19日 09:54:12   作者:稀里糊涂林老冷  
這篇文章主要介紹了flask框架視圖函數(shù)用法,結(jié)合實(shí)例形式分析了flask框架視圖函數(shù)常見配置與使用技巧,需要的朋友可以參考下

本文實(shí)例講述了flask框架視圖函數(shù)用法。分享給大家供大家參考,具體如下:

flask框架 視圖函數(shù)當(dāng)中 各種實(shí)用情況簡單配置

1 建立連接

2 路由參數(shù)

3 返回網(wǎng)絡(luò)狀態(tài)碼

4 自定義錯(cuò)誤頁面

5 重定向

6 正則url限制 和 url 優(yōu)化

7 設(shè)置和獲取cookie

#coding:utf8
# 導(dǎo)入flask
from flask import Flask,abort,redirect,make_response,request
from werkzeug.routing import BaseConverter
# Flask 接受一個(gè)參數(shù)__name__ 作用是指明應(yīng)用的位置
app = Flask(__name__)
'''
1 建立一個(gè)前后臺(tái)鏈接
裝飾器的作用是陸游映射到視圖函數(shù)index
訪問根目錄就會(huì)進(jìn)入index視圖函數(shù)
'''
@app.route('/')
def index():
  # 返回后會(huì)調(diào)用make_response
  return "你好 世界!"
'''
2 給路由傳參數(shù)
傳遞的參數(shù)在<name>當(dāng)中 這個(gè)變量名稱也要傳遞給視圖函數(shù)
可以在<int:name> 或者<string:name> 指定傳遞參數(shù)的類型
不指定類型默認(rèn)使用string類型
'''
@app.route('/attr/<string:attr>')
def attr(attr):
  return "hello,%s"%attr
'''
3 返回網(wǎng)絡(luò)狀態(tài)碼的兩種方式
  01 return 字符串,狀態(tài)碼
  02 abort(狀態(tài)碼)
200 成功
300 重定向
404 未找到
500 服務(wù)器內(nèi)部錯(cuò)誤
'''
#01 return 字符串,狀態(tài)碼 這種方式 可以返回不存在的狀態(tài)碼 前端依然能得到頁面
@app.route('/status')
def status():
  # 用這種方式可以返回假的狀態(tài)碼 前端依然能夠渲染
  return 'hello status',999
#02 利用abort(狀態(tài)碼) 進(jìn)行返回狀態(tài)碼,只能寫入真的狀態(tài)碼
# 這個(gè)函數(shù)的作用是 自定義我們項(xiàng)目的 出錯(cuò)頁面
@app.route('/abort')
def geive500():
  abort(500)
'''
4 捕獲訪問我們flask后臺(tái)發(fā)生各種錯(cuò)誤的情況
  利用@app.errorhandler(500) 進(jìn)行裝飾 能截獲500的response
'''
# 捕獲500異常 函數(shù)當(dāng)中接受到錯(cuò)誤信息
@app.errorhandler(500)
def error500(e):
  return "您請(qǐng)求的頁面后臺(tái)發(fā)生錯(cuò)誤!錯(cuò)誤信息:%s"%e
@app.errorhandler(404)
def error404(e):
  return "您訪問的頁面飛去了火星!信息:%s"%e
'''
5 重定向
有兩種方式:
  01 redirect(url)
  02 url_for(視圖函數(shù))
'''
@app.route('/redirect')
def redir():
  return redirect('http://www.baidu.com')
'''
6 url正則
兩個(gè)用途: 限制訪問 和 優(yōu)化訪問路徑
使用:
01首先要 定義一個(gè)繼承自BaseConverter的子類
  在子類里面調(diào)用父類的初始化方法
  重寫父類的變量
02然后 給applurl_map.converters 字典添加re健 和 我們自己寫的類做val
03最后 視圖函數(shù)的app.route('路徑<re(正則),變量名>')   
  變量名要傳給視圖函數(shù)做參數(shù)
'''
# 01 寫一個(gè)繼承自 BaseConverter的子類 相應(yīng)的方法和屬性要重寫
class Regex_url(BaseConverter):
  def __init__(self,url_map,*args):
    super(Regex_url,self).__init__(url_map)
    self.regex = args[0]
# 02 添加re映射
app.url_map.converters['re'] = Regex_url
# 03 正則匹配參數(shù)
# 利用正則對(duì)傳入?yún)?shù)進(jìn)行限制
# 只有1到3位小寫英文才能成功 否則都是404
@app.route('/attr2/<re("[a-z]{1,3}"):attr>')
def attr2(attr):
  return "hello %s"%attr
'''
7 設(shè)置cookie 和 獲取 cookie
設(shè)置cookie:
  利用 make_response() 拿到response對(duì)象
  response.set_cookie(key,val)
獲取cookie:
  利用request.cookies.get(key) 獲取cookie
'''
# 設(shè)置cookie
@app.route('/set_cookie')
def setCookie():
  response = make_response('設(shè)置cookie')
  response.set_cookie('log','設(shè)置的cookie')
  return response
# 獲取cookie
@app.route('/get_cookie')
def getCookie():
  log = request.cookies.get('log')
  return log
if __name__ == '__main__':
  # 執(zhí)行后臺(tái)服務(wù)器
  app.run(debug=True)

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python入門與進(jìn)階經(jīng)典教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python文件與目錄操作技巧匯總

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

相關(guān)文章

  • 一則python3的簡單爬蟲代碼

    一則python3的簡單爬蟲代碼

    最近一直在學(xué)習(xí)Python,還有網(wǎng)絡(luò)爬蟲,于是就想起來把2者結(jié)合一下,所以就有了本文。
    2014-05-05
  • python?peewee操作sqlite鎖表的問題分析

    python?peewee操作sqlite鎖表的問題分析

    Peewee是一種簡單而小的ORM,在使用python?orm?框架?peewee?操作數(shù)據(jù)庫時(shí)時(shí)常會(huì)拋出以一個(gè)異常,下面我們就來分享一下具體的原因以及解決辦法吧
    2023-08-08
  • Python序列化模塊JSON與Pickle

    Python序列化模塊JSON與Pickle

    這篇文章介紹了Python的序列化模塊JSON與Pickle,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • python標(biāo)準(zhǔn)庫 datetime的astimezone設(shè)置時(shí)區(qū)遇到的坑及解決

    python標(biāo)準(zhǔn)庫 datetime的astimezone設(shè)置時(shí)區(qū)遇到的坑及解決

    這篇文章主要介紹了python標(biāo)準(zhǔn)庫 datetime的astimezone設(shè)置時(shí)區(qū)遇到的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 淺談python迭代器

    淺談python迭代器

    這篇文章主要介紹了淺談python迭代器,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • Python實(shí)現(xiàn)重建二叉樹的三種方法詳解

    Python實(shí)現(xiàn)重建二叉樹的三種方法詳解

    這篇文章主要介紹了Python實(shí)現(xiàn)重建二叉樹的三種方法,結(jié)合實(shí)例形式分析了Python重建二叉樹的實(shí)現(xiàn)方法、操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-06-06
  • Python爬蟲包BeautifulSoup異常處理(二)

    Python爬蟲包BeautifulSoup異常處理(二)

    這篇文章主要為大家詳細(xì)介紹了Python爬蟲包BeautifulSoup的異常處理,具有一定的參考價(jià)值,感興趣的朋友可以參考一下
    2018-06-06
  • python實(shí)現(xiàn)單張圖像拼接與批量圖片拼接

    python實(shí)現(xiàn)單張圖像拼接與批量圖片拼接

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)單張圖像拼接與批量圖片拼接,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • Python中os和shutil模塊實(shí)用方法集錦

    Python中os和shutil模塊實(shí)用方法集錦

    這篇文章主要介紹了Python中os和shutil模塊實(shí)用方法集錦,需要的朋友可以參考下
    2014-05-05
  • Django模板中變量的運(yùn)算實(shí)現(xiàn)

    Django模板中變量的運(yùn)算實(shí)現(xiàn)

    這篇文章主要介紹了Django模板中變量的運(yùn)算,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04

最新評(píng)論