正确访问原始类之外的实体键的方法

时间:2014-04-11 20:25:26

标签: google-app-engine python-2.7

我正在使用Python编写我的第一个GAE Web应用程序。我需要收集~30个属性并实例化一个Client对象(我正在使用Model.db)。我想在4个单独的顺序表格上完成这个。如果我为每个表单使用单独的页面处理程序,那么提取和引用每个表单上的键或id并将数据放入同一数据实体的最佳方法是什么?如何避免全局变量?

1 个答案:

答案 0 :(得分:0)

不确定我是否遵循......您可能需要更清楚地解释一下这个问题。

首先,不要使用全局变量。

您可以在同一个模板上有4个表单,所有表单都使用相同的处理程序。给每个单独的隐藏属性。或者,根据您的模板包,您应该能够通过ID访问表单。

在你的经纪人中:

entity = MyModel.get_by_key_name('my_key_name') 
if request.method == 'POST':
    if request.POST['hidden_field'] == 'firstform':
        entity['prop_1'] = form.prop_1.data
        ...
    if request.POST['hidden_field'] == 'secondform':
       ...
    ...
    entity.put()
else:
    return <template>

您需要修改上面的语法以适合您的模板pkg。