从web2py app

时间:2016-10-10 22:30:47

标签: web2py

我希望用户能够在我的web2py应用中的任何网址上附加会员ID密钥和值作为查询字符串。然后我在会话中注册。在任何时候他们都应该点击链接进行注册:

  1. 我使用查询字符串中的联属会员ID(如果有的话)
  2. 我在会话对象中使用会员ID(如果有的话)
  3. 我随机选择数据库中的用户作为联盟会员
  4. 我的问题是:我怎样才能装饰" web2py应用程序中的每个函数,它提取并将查询变量affiliate分配给会话变量affiliate,而无需在每个控制器的每个函数中手动编写此类代码?

1 个答案:

答案 0 :(得分:1)

默认情况下,/models文件夹顶层的模型文件会在每个请求中执行,因此只需将代码放在模型文件中:

if request.get_vars.affiliate:
    session.affiliate = request.get_vars.affiliate

此外,使用上述内容,您不需要上面的步骤#1(即从查询字符串中提取会员ID) - 如果“affiliate”在查询字符串中,它也将被复制到同一请求中的会话。所以,只需从会话中读取ID即可。