【发布时间】:2015-01-14 21:30:37
【问题描述】:
--- 重写问题以使其更清晰并包含代码---
我正在构建我的第一个 GAE python 应用程序,并且需要弄清楚如何在系统的不同模块之间传递参数,以便不同的请求处理程序可以获取这些参数。
我的应用程序有一个主页,它是一个带有按钮的页面,用户可以单击以跳转到不同的系统块(产品、食谱、订单..)。用户在主页上登录,这种登录应该贯穿系统的所有块。
主页上的 href 现在看起来像:
<a href="products">Products
<a href="recipes">Recipes
<a href="orders">Orders
并非所有用户都可以访问所有块,我在数据存储中保留了一个具有访问权限的列表。
现在进入产品页面:只有当用户在数据存储区中的登录表明对该页面有足够的访问权限时,才应允许用户访问该页面。
用户点击主页中的产品链接(或按钮),然后进入 products.py 文件中的“../products”页面。
在 products.py 中,我(再次)让用户从不同的选项中进行选择。默认情况下,用户被定向到第一个处理程序,并看到一个新的选项列表。
application = webapp2.WSGIApplication([
('/products', ProductsPage),
('/products-save', SaveProduct),
('/products-find', FindProduct),
('/products-delete', DeleteProduct),
('/products-search', SearchProducts),
], debug = True)
假设用户现在选择创建或保存产品。他将被定向到由 SaveProduct 处理的 ../products-save 页面。
此请求处理程序以:
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,并且需要通过所有中间步骤传输它,以便它到达另一个 .py 文件中的最终函数(在本例中为 SaveProduct),以便它验证用户是否有足够的权利。
我的问题是:我该怎么做?
我已经检查了 webapp2 文档中的配置选项和关于获取的信息,但没有找到我要查找的内容。
【问题讨论】:
-
这个问题对我来说很不清楚。你在谈论查询字符串吗?你有可以展示的代码吗?
-
嗨@aschmid00,感谢您的回复。我在问题中添加了代码并解释了我到目前为止所做的事情。也许现在问题更清楚了?
标签: python google-app-engine parameter-passing