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

Python的Bottle框架中獲取制定cookie的教程

 更新時(shí)間:2015年04月24日 15:45:03   作者:C Wong  
這篇文章主要介紹了Python的Bottle框架中獲取制定cookie的教程,主要是針對(duì)別的路徑而不是當(dāng)前頁(yè)面的cookie,需要的朋友可以參考下

這兩天為用bottle+mongodb寫的一個(gè)項(xiàng)目加上登錄功能,無(wú)奈怎么都獲取不到保存的cookie,文檔給出讓我們這樣操作cookie的代碼片段:

@route('/login')
def login ():
   username = request .forms .get('username ')
   password = request .forms .get('password ')
   if check_user_credentials(username, password):
      response .set_cookie("account", username, secret= 'some-secret-key')
      return "Welcome %s!You are now logged in." % username
   else :
      return "Login failed." 

@route('/restricted')
def restricted_area ():
   username = request .get_cookie("account", secret= 'some-secret-key')
   if username:
      return "Hello %s.Welcome back." % username

雖然文檔上沒(méi)有但是還有一種操作cookie的方式:

from bottle import request, response

@route('/login', method="POST")
def login():
  user = request.POST['user']
  passwd = request.POST['passwd']

  if check_user_right(user,passwd):
    response.COOKIES['account'] = user
  else:
    pass

@route('/admin')
def admin():
  user = request.COOKIES['user']
  if user:
    pass

但是無(wú)論我用哪種方式操作我都無(wú)法獲取cookie,為什么呢.百思不得其解.但是我的一個(gè)處理文章點(diǎn)擊率的提醒了我,代碼如下:

@route('/archrives/:aid#\d+#')
def article_show(aid):
  db = dbconn.ConnDB()
  artid = int(aid)
  # 獲取客戶端ip
  remoteip = request.environ.get('REMOTE_ADDR')

  artcookie = remoteip+'ip'+aid
  print request.COOKIES.keys()

  # 判斷cookie是否存在
  if artcookie in request.COOKIES.keys():
    # 存在則更新有效時(shí)間
    response.COOKIES[artcookie] = True
    response.COOKIES[artcookie]['max-age'] = 500
  else:
    # 不存在則更新文章查看次數(shù)
    db.posts.update({"id":artid}, {"$inc":{"views":1}})

    # 并設(shè)置cookie
    response.COOKIES[artcookie] = True
    response.COOKIES[artcookie]['max-age'] = 500

  TEMPLATE['posts'] = getArtList({"id":artid})
  TEMPLATE.update(setTempVar())

  return template('article.html', TEMPLATE)

這里是可以正常獲取到cookie的,而且代碼沒(méi)有任何區(qū)別.唯一的區(qū)別就是用戶認(rèn)證是跳轉(zhuǎn)了頁(yè)面.所以我help了一下:

from bottle import response
help(response.set_cookie)

help的結(jié)果其中有兩個(gè)參數(shù)一個(gè)是path,和domain:

   

 :param domain: the domain that is allowed to read the cookie.
   (default: current domain)
  :param path: limits the cookie to a given path (default: current path)

明顯bottle的cookie默認(rèn)只在當(dāng)前路徑下能讀取的到,所以要?jiǎng)e的頁(yè)面讀取到cookie我們的代碼須改成如下:

from bottle import request, response

@route('/login', method="POST")
def login():
  user = request.POST['user']
  passwd = request.POST['passwd']

  if check_user_right(user,passwd):
    response.COOKIES['account'] = user
    response.COOKIES['account']['path'] = '/admin'
  else:
    pass

@route('/admin')
def admin():
  user = request.COOKIES['user']

這樣我們就能在別的路徑下訪問(wèn)我們?cè)O(shè)定的cookie.

相關(guān)文章

  • Python入門教程(二十九)Python的RegEx正則表達(dá)式

    Python入門教程(二十九)Python的RegEx正則表達(dá)式

    這篇文章主要介紹了Python入門教程(二十九)Python的RegEx,RegEx 或正則表達(dá)式是形成搜索模式的字符序列。RegEx 可用于檢查字符串是否包含指定的搜索模式,需要的朋友可以參考下
    2023-04-04
  • Python如何獲取免費(fèi)高匿代理IP及驗(yàn)證

    Python如何獲取免費(fèi)高匿代理IP及驗(yàn)證

    這篇文章主要介紹了Python如何獲取免費(fèi)高匿代理IP及驗(yàn)證問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Django的開(kāi)發(fā)步驟原來(lái)是這樣的

    Django的開(kāi)發(fā)步驟原來(lái)是這樣的

    這篇文章主要為大家詳細(xì)介紹了Django的開(kāi)發(fā)步驟,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • 基于python 將列表作為參數(shù)傳入函數(shù)時(shí)的測(cè)試與理解

    基于python 將列表作為參數(shù)傳入函數(shù)時(shí)的測(cè)試與理解

    這篇文章主要介紹了基于python 將列表作為參數(shù)傳入函數(shù)時(shí)的測(cè)試與理解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • OpenCV實(shí)現(xiàn)圖像平滑處理的方法匯總

    OpenCV實(shí)現(xiàn)圖像平滑處理的方法匯總

    這篇文章為大家詳細(xì)介紹了在圖像上面進(jìn)行了圖像均值濾波、方框?yàn)V波 、高斯濾波、中值濾波、雙邊濾波、2D卷積等具體操作的方法,需要的可以參考一下
    2023-02-02
  • Python實(shí)現(xiàn)字典的key和values的交換

    Python實(shí)現(xiàn)字典的key和values的交換

    本文給大家分別介紹了在python3.0和2.7版本下實(shí)現(xiàn)字典的key和values的交換的程序代碼,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。
    2015-08-08
  • python中import學(xué)習(xí)備忘筆記

    python中import學(xué)習(xí)備忘筆記

    python中的import語(yǔ)句是用來(lái)導(dǎo)入模塊的,在python模塊庫(kù)中有著大量的模塊可供使用,要想使用這些文件需要用import語(yǔ)句把指定模塊導(dǎo)入到當(dāng)前程序中。下面這篇文章主要給大家介紹了python中import學(xué)習(xí)的相關(guān)資料,需要的朋友可以參考借鑒。
    2017-01-01
  • Python數(shù)據(jù)解析之BeautifulSoup4的用法詳解

    Python數(shù)據(jù)解析之BeautifulSoup4的用法詳解

    Beautiful?Soup?是一個(gè)可以從?HTML?或?XML?文件中提取數(shù)據(jù)的?Python?庫(kù),這篇文章主要來(lái)和大家介紹一下BeautifulSoup4的用法,需要的可以參考一下
    2023-06-06
  • Python?時(shí)間操作time詳情

    Python?時(shí)間操作time詳情

    這篇文章主要介紹了?Python?時(shí)間操作time詳情,在Python高級(jí)語(yǔ)言中,內(nèi)置庫(kù)提供了time和datetime模塊進(jìn)行對(duì)時(shí)間日期的處理。本文,我們將進(jìn)行對(duì)Time模塊相關(guān)的方法進(jìn)行學(xué)習(xí),需要的朋友可以參考一下
    2021-11-11
  • python3 cvs將數(shù)據(jù)讀取為字典的方法

    python3 cvs將數(shù)據(jù)讀取為字典的方法

    今天小編就為大家分享一篇python3 cvs將數(shù)據(jù)讀取為字典的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12

最新評(píng)論

肥城市| 霍州市| 松桃| 海原县| 将乐县| 淮安市| 长治市| 九龙城区| 莱阳市| 吕梁市| 聂荣县| 渭南市| 莱芜市| 思茅市| 稻城县| 双流县| 平阳县| 乌兰察布市| 扎囊县| 睢宁县| 德保县| 铜山县| 奇台县| 定襄县| 遂川县| 雷波县| 曲麻莱县| 衡阳县| 西昌市| 永仁县| 阿坝| 仙居县| 松原市| 岑巩县| 龙川县| 新源县| 吐鲁番市| 常熟市| 松原市| 武清区| 西和县|