GAE Python如何将参数传递和检索到请求处理程序?

时间:2015-01-14 21:30:37

标签: python google-app-engine parameter-passing

---重写了问题以使其更清晰并包含代码---

我正在构建我的第一个GAE python应用程序,需要弄清楚如何在系统的不同模块之间传递参数,以便不同的请求处理程序可以选择这些参数。

我有一个我的应用程序的主页面,它是一个带有按钮的页面,用户可以单击该页面跳转到不同的系统块(产品,食谱,订单......)。用户登录主页面,此登录应该遍布系统的所有块。

主页面上的href现在看起来像:

<a href="products">Products
<a href="recipes">Recipes
<a href="orders">Orders

并非所有用户都可以访问所有块,我在数据存储区中保留了一个具有访问权限的列表。

现在进入“产品”页面:如果用户在数据存储区中的登录表明对该页面具有足够的访问权限,则只允许用户访问此页面。

用户点击主页面中的产品链接(或按钮),然后登陆&#34; ../ products&#34; product.py文件中的页面。

在products.py中,我(再次)为用户提供从不同选项中进行选择。默认情况下,用户被定向到第一个处理程序,并看到一个新的选项列表。

application = webapp2.WSGIApplication([
    ('/products', ProductsPage),
    ('/products-save', SaveProduct),
    ('/products-find', FindProduct),
    ('/products-delete', DeleteProduct),    
    ('/products-search', SearchProducts),
], debug = True)

假设用户现在选择创建或保存产品。他将被引导至../products-save页面,该页面由SaveProduct处理。

此请求处理程序以:

开头
class SaveProduct(webapp2.RequestHandler):
    def post(self):
        # if user_id is authorized to create / modify products:
        #     code ...
        # else display nice message "not enough rights" 

我在主页面上获得了user_id,并且需要通过所有中间步骤传输它,以便它到达anther .py文件中的最终函数(在此示例中为SaveProduct),以便验证用户是否具有足够的权利。

我的问题是:我该怎么做?

我已经检查了webapp2文档中的配置选项和get,但没有找到我要找的内容。

1 个答案:

答案 0 :(得分:1)

如果您正在讨论来自用户填写并提交的网页的请求,那么入门教程here会提供一些如何执行此操作的示例。具体来说,HTML表单中的参数将是您的请求处理程序代码接收的request对象的一部分,您只需在处理程序代码中按名称获取它们。链接假设您正在使用webapp2框架,但该过程对于其他框架是相同的。