首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储连接- twisted.web的实例

存储连接- twisted.web的实例
EN

Stack Overflow用户
提问于 2011-02-08 18:45:58
回答 1查看 1.4K关注 0票数 1

如何在twisted.web中存储连接实例?我已经看到了request.getSession(),但是我搜索了它,以后很少有例子说明它是如何存储和检索的。

谢谢。

更新:我希望将连接存储在会话中以供以后检索

代码语言:javascript
复制
  def render_POST(self, request):

    command = request.path[1:]
    session = request.getSession()

    if command == "authentication":
      Connect = LdapConnection(request.args['host'][0],request.args['user'][0],request.args['password'][0])
      session.addComponent(LdapConnection, Connect)                  

    if command == "users":
      Connect = session.getComponent(LdapConnection)                     
      u = Users(Connect, request.args['name'][0],request.args['employeeNumber'])

    return
EN

回答 1

Stack Overflow用户

发布于 2011-02-08 22:48:31

扭曲文件中有很多例子。如果你喜欢一个快速的关于如何使用会话的摘要

代码语言:javascript
复制
from twisted.web.resource import Resource

class ShowSession(Resource):
    def render_GET(self, request):
        return 'Your session id is: ' + request.getSession().uid

class ExpireSession(Resource):
    def render_GET(self, request):
        request.getSession().expire()
        return 'Your session has been expired.'

resource = ShowSession()
resource.putChild("expire", ExpireSession())

不要忘记,如果会话不存在,request.getsession()将创建它。本教程解释如何在会话中存储对象

代码语言:javascript
复制
cache()

from zope.interface import Interface, Attribute, implements
from twisted.python.components import registerAdapter
from twisted.web.server import Session
from twisted.web.resource import Resource

class ICounter(Interface):
    value = Attribute("An int value which counts up once per page view.")

class Counter(object):
    implements(ICounter)
    def __init__(self, session):
        self.value = 0

registerAdapter(Counter, Session, ICounter)

class CounterResource(Resource):
    def render_GET(self, request):
        session = request.getSession()
        counter = ICounter(session)   
        counter.value += 1
        return "Visit #%d for you!" % (counter.value,)

resource = CounterResource()
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4936994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档