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

web.py在SAE中的Session問題解決方法(使用mysql存儲(chǔ))

 更新時(shí)間:2015年06月24日 09:41:34   投稿:junjie  
這篇文章主要介紹了web.py在SAE中的Session問題解決方法(使用mysql存儲(chǔ)),本文直接給出實(shí)現(xiàn)代碼,代碼中包含詳細(xì)注釋,需要的朋友可以參考下

這段時(shí)間一直想嘗試著在SAE中使用Python,初步選擇了Web.py框架做為開發(fā)框架,但是可憐SAE上的資料少的可憐,有點(diǎn)問題基本上解決不了,今天解決一個(gè)Session在Session的存儲(chǔ)問題,在SAE中不能直接用本地文件存儲(chǔ),好像是權(quán)限的原因,我現(xiàn)在采用的是保存在mysql中,效果也不錯(cuò)。希望對(duì)大家有幫助。直接上代碼了。

index.wsgi

#!/usr/bin/env python
# coding: utf-8
import os
import web
import sae
from config.url import urls
from config import settings
 
#是否具有調(diào)試功能
web.config.debug = False
# app = web.application(urls, globals()).wsgifunc()
# application = sae.create_wsgi_app(app)
 
#解決Session在SAE中的問題
app = web.application(urls, globals())
 
#將session保存在數(shù)據(jù)庫中
db = settings.db
store = web.session.DBStore(db, 'sessions')
#session = web.session.Session(app, store, initializer={'access_token': 'true'})
session = web.session.Session(app, store)
web.config._session = session
 
application = sae.create_wsgi_app(app.wsgifunc())
url.py
#!/usr/bin/env python
# coding: utf-8
 
pre_fix = 'controllers.'
 
urls = (
  '/',          pre_fix + 'todo.Index',
  '/todo/new',      pre_fix + 'todo.New',
  '/todo/(\d+)',     pre_fix + 'todo.View',
  '/todo/(\d+)/edit',   pre_fix + 'todo.Edit',
  '/todo/(\d+)/delete',  pre_fix + 'todo.Delete',
  '/todo/(\d+)/finish',  pre_fix + 'todo.Finish',
  '/todo/login', pre_fix + 'login.LoginUser',
  '/todo/checkuser',pre_fix+'login.CheckUser',
  '/todo/reset',pre_fix+'todo.reset',
  '/todo/saveupload','mycontrollers.saveupload.SaveUpload'
)
setting.py
#!/usr/bin/env python
# coding: utf-8
import web
import sae.const
#數(shù)據(jù)庫設(shè)定
db = web.database(dbn='mysql', user=sae.const.MYSQL_USER, pw=sae.const.MYSQL_PASS, host=sae.const.MYSQL_HOST, port=3307, db=sae.const.MYSQL_DB)
#模板設(shè)定
render = web.template.render('templates/', cache=False)
 
config = web.storage(
  email='oooo@qq.com<script cf-hash="f9e31" type="text/javascript">
/* <![CDATA[ */!function(){try{var t="currentScript"in document?document.currentScript:function(){for(var t=document.getElementsByTagName("script"),e=t.length;e--;)if(t[e].getAttribute("cf-hash"))return t[e]}();if(t&&t.previousSibling){var e,r,n,i,c=t.previousSibling,a=c.getAttribute("data-cfemail");if(a){for(e="",r=parseInt(a.substr(0,2),16),n=2;a.length-n;n+=2)i=parseInt(a.substr(n,2),16)^r,e+=String.fromCharCode(i);e=document.createTextNode(e),c.parentNode.replaceChild(e,c)}}}catch(u){}}();/* ]]> */</script>',
  site_name = '任務(wù)跟蹤',
  site_desc = '',
  static = '/static',
)
 
web.template.Template.globals['config'] = config
web.template.Template.globals['render'] = render
login.py
#!/usr/bin/env python
# coding: utf-8
import web
from config import settings
render = settings.render
def myloadhook():
  global session
  session = web.config._session
class LoginUser:
  def GET(self):
    return render.LoginUser()
class CheckUser:
  def POST(self):
    #獲取Session相關(guān)信息
    myloadhook()
    #獲取表單信息
    i = web.input()
    username =i.get('txtUserName',None)
    password=i.get('txtUserPass',None)
    #從全局配置文件中得到session
    session = web.config._session
    if username == 'chu888' and password == 'chu888':
      session.access_token = 'true'
      raise web.seeother('/')
    else:
      session.access_token = 'false'
      raise web.seeother('/todo/login')

相關(guān)文章

最新評(píng)論

醴陵市| 江北区| 江华| 同德县| 广平县| 淳安县| 黑河市| 开原市| 九龙坡区| 南宁市| 邵东县| 日喀则市| 郁南县| 邢台县| 专栏| 龙口市| 阳东县| 溧水县| 汕头市| 新安县| 象州县| 河池市| 隆昌县| 宝兴县| 双流县| 汉源县| 凤阳县| 寿宁县| 阜阳市| 西青区| 扶风县| 灵台县| 禹城市| 桓台县| 宜丰县| 高唐县| 梁平县| 吉木萨尔县| 邯郸县| 景谷| 大埔县|