我正在寻找如何在Google App Engine上进行验证,而我只发现了如何使用Django框架进行验证。好的Django方法还可以,但如果我有一个表单,这个表单有几个表的数据然后??? 我不能这样做:
class Item(db.Model):
name = db.StringProperty()
quantity = db.IntegerProperty(default=1)
target_price = db.FloatProperty()
priority = db.StringProperty(default='Medium',choices=[
'High', 'Medium', 'Low'])
entry_time = db.DateTimeProperty(auto_now_add=True)
added_by = db.UserProperty()
class ItemForm(djangoforms.ModelForm):
class Meta:
model = Item
exclude = ['added_by']
class MainPage(webapp.RequestHandler):
def get(self):
self.response.out.write('<html><body>'
'<form method="POST" '
'action="/">'
'<table>')
# This generates our shopping list form and writes it in the response
self.response.out.write(ItemForm())
self.response.out.write('</table>'
'<input type="submit">'
'</form></body></html>')
def post(self):
data = ItemForm(data=self.request.POST)
if data.is_valid():
# Save the data, and redirect to the view page
entity = data.save(commit=False)
entity.added_by = users.get_current_user()
entity.put()
self.redirect('/items.html')
else:
# Reprint the form
self.response.out.write('<html><body>'
'<form method="POST" '
'action="/">'
'<table>')
self.response.out.write(data)
self.response.out.write('</table>'
'<input type="submit">'
'</form></body></html>')
是否有简单的方法来验证包含来自少数几个表的数据的表单,或者我必须单独编写代码?
答案 0 :(得分:1)
看起来你正在使用webapp;我建议您查看其他一些“轻量级”表单验证选项。选择一个你喜欢的布局/语法。如果需要,您将能够定义复杂的“嵌套”关系。
答案 1 :(得分:0)
WTForms有一个GAE组件WTForms
WTForms现在包括对AppEngine字段的支持以及自动表单生成。表单类可以原样使用,也可以作为扩展表单类的基础,然后可以将非模型相关字段,子表单与其他模型表单混合在一起,以及其他可能性。