1

我有这样的课:

class  ma_class(FlaskView):
  route_base = '/'

  state = False

  @route('/load')
  def load(self):
      self.state = True
      return 'load : ok'

  @route('/stuff')
  def do_something(self)
    if not self.state:
        return 'you must invoke load method' 

当我向我发送请求时,url/load我会收到Load : ok响应。

但是之后,当我向我发送请求时,url/stuff我得到you must invoke load method.

self.state没有改变,我不知道为什么。

谢谢阅读

4

1 回答 1

3

http是无国籍的。这意味着一个请求对第二个请求一无所知,依此类推,除非您以某种方式告诉它。如果您使用的是烧瓶,则可以使用“会话”来实现。会话是一种通过多个请求(例如登录)保存信息的方法。

from flask import session

class  ma_class(FlaskView):
  route_base = '/'


@route('/load')
def load(self):

  session['state'] = True
  return 'load : ok'

@route('/stuff')
def do_something(self)
   if 'state' not in session:
       return 'you must invoke load method' 
于 2013-09-24T22:03:38.967 回答