我正在使用Falcon,我需要将变量从中间件传递到资源,该怎么办?
main.py
app = falcon.API(middleware=[
AuthMiddleware()
])
app.add_route('/', Resource())
和身份验证
class AuthMiddleware(object):
def process_request(self, req, resp):
self.vvv = True
和资源
class Resource(object):
def __init__(self):
self.vvv = False
def on_get(self, req, resp):
logging.info(self.vvv) #vvv is always False
为什么self.vvv始终为假?我已经在中间件中将其更改为true。
答案 0 :(得分:3)
首先,您正在混淆<template> has a v-for list feeded by the computed() property below.
mounted () a function calling vuexfire action binding db RESTRICTED collection to state.ref
computed () some c. property returning a list of state.ref
methods () some method callong vuexfire action binding db UN***RESTRICTED collection relative to some WHERE TO parameter to state.ref
的含义。自我仅影响类的实例,是一种向类添加属性的方式,因此self
中的self.vvv
与类{{ 1}}。
第二,您不需要从资源中的AuthMiddleware那里了解任何信息,这就是为什么要使用中间件的原因。中间件是在每个请求之后或之前执行逻辑的方法。您需要实现中间件,以便它引起Falcon异常或修改您的请求或响应。
例如,如果您未授权请求,则必须引发如下异常:
AuthMiddleware
查看猎鹰页面examples。