我有:
class ArticleController(SubbaseController):
def view(self):
c.referral = self.detect_referral.referrer
return render('/article.mako')
@staticmethod
def detect_referral():
referrer = request.META.get('HTTP_REFERRER', '')
我试图从detect\u reference静态方法引用view操作内的referer,但我一直得到:“function”对象没有属性“referer”。有什么想法吗?在
另外,这是获得推荐人的正确方法吗?在
它是
detect_referral()
内部的一个局部变量,因此它的生命周期仅限于方法的执行时间。在调用方法之前和方法返回之后,局部变量根本不存在。(您甚至不调用该方法,因此在执行程序的任何时候都不存在局部变量。)很可能您不希望在这里使用静态方法。(在Python中几乎永远不需要静态方法。我不记得我曾经用过一个。)也许你只需要一个class属性:
注意,类主体在类定义时执行一次。在
您没有从
detect_referral
返回referrer
,并且detect_referral
不是属性,因此不能使用该语法。在相关问题 更多 >
编程相关推荐