我有一个实用程序类方法,我想从其他 App Engine Python 类中使用:
def parse_query_string_paramter(self, paramter, default=None):
if self.request.get(paramter):
# ...
从另一个类调用此方法时,我不确定如何传递原始请求的上下文,如下所示:
import webapp2
from utilities import Utility
class Search(webapp2.RequestHandler):
def get(self):
utility = Utility()
search_query = utility.parse_query_string_paramter('q')
# ...
下面返回的错误对我来说很有意义,Pythonic 解决方案虽然我不清楚从哪里开始:
File "~/utilities.py", line 112, in parse_query_string_paramter
if self.request.get(paramter):
AttributeError: 'NoneType' object has no attribute 'get'
更新:
感谢 Tim 的解决方案,下面更新的代码现在对我有用:
def parse_query_string_paramter(self, context, paramter, default=None):
if context.request.get(paramter):
# ...
并self
从调用类传递如下:
search_query = utility.parse_query_string_paramter(self, 'q')