Python ity=data.save(提交=False) entity.added_by=users.get_current_user() 实体.put() entity=data2.save(commit=False) entity.added_by=users.get_current_user() 实体.put() self.redirect(“/items.html”) 其他: #重印表格 自我。回应。输出。写入(“”) '' '') self.response.out.write(数据) self.response.out.write(数据2) 自我。回应。输出。写入(“”) '' '')
您需要从self.request.POST创建表单类,而不是模型类Python ity=data.save(提交=False) entity.added_by=users.get_current_user() 实体.put() entity=data2.save(commit=False) entity.added_by=users.get_current_user() 实体.put() self.redirect(“/items.html”) 其他: #重印表格 自我。回应。输出。写入(“”) '' '') self.response.out.write(数据) self.response.out.write(数据2) 自我。回应。输出。写入(“”) '' ''),python,google-app-engine,Python,Google App Engine,您需要从self.request.POST创建表单类,而不是模型类 它们有一个名为data的参数,而不是data2。我没有使用Django表单,但我的猜测是这样的: def post(self): #print self.request #print self.request.POST data = PhoneNumberForm(data=self.request.POST) data2 = ContactForm(data=self.request.P
它们有一个名为data的参数,而不是data2。我没有使用Django表单,但我的猜测是这样的:
def post(self):
#print self.request
#print self.request.POST
data = PhoneNumberForm(data=self.request.POST)
data2 = ContactForm(data=self.request.POST)
if data.is_valid() and data2.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()
entity = data2.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(data2)
self.response.out.write('</table>'
'<input type="submit">'
'</form></body></html>')
def post(self):
form1 = PhoneNumberForm(self.request.POST or None)
form2 = Contact(self.request.POST or None)
if form1.is_valid() and form2.is_valid():
form1.save()
form2.save()
else:
# re-display page....
def post(self):
#打印自我请求
#打印self.request.POST
数据=电话号码格式(数据=self.request.POST)
数据2=联系人表单(数据=self.request.POST)
如果data.is\u valid()和data2.is\u valid():
#保存数据,并重定向到查看页面
实体=数据。保存(提交=错误)
entity.added_by=users.get_current_user()
实体.put()
entity=data2.save(commit=False)
entity.added_by=users.get_current_user()
实体.put()
self.redirect(“/items.html”)
其他:
#重印表格
自我。回应。输出。写入(“”)
''
'')
self.response.out.write(数据)
self.response.out.write(数据2)
自我。回应。输出。写入(“”)
''
'')
您需要从self.request.POST创建表单类,而不是模型类
它们有一个名为data的参数,而不是data2。实际上,您可以稍微简化代码 class Contact(db.Model): name = db.StringProperty() birth_day = db.DateProperty() address = db.PostalAddressProperty() added_by = db.UserProperty(auto_current_user_add=True) class PhoneNumber(db.Model): contact = db.ReferenceProperty(Contact, collection_name='phone_numbers') phone_type = db.StringProperty( choices=('home', 'work', 'fax', 'mobile', 'other')) number = db.PhoneNumberProperty() added_by = db.UserProperty(auto_current_user_add=True) 班级联系方式(db.Model): name=db.StringProperty() 出生日=db.DateProperty() 地址=db.PostalAddressProperty() added\u by=db.UserProperty(auto\u current\u user\u add=True) 类别电话号码(db.Model): contact=db.ReferenceProperty(触点, 集合(名称=”电话号码“) phone_type=db.StringProperty( 选项=(‘家’、‘工作’、‘传真’、‘手机’、‘其他’) number=db.PhoneNumberProperty() added\u by=db.UserProperty(auto\u current\u user\u add=True) 您不需要在表单的保存方法中添加当前用户,您可以让appengine自动添加 在def post(self):函数中,不应该使用data2参数实例化表单,这是无效的。我通常会这样做:
def post(self):
#print self.request
#print self.request.POST
data = PhoneNumberForm(data=self.request.POST)
data2 = ContactForm(data=self.request.POST)
if data.is_valid() and data2.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()
entity = data2.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(data2)
self.response.out.write('</table>'
'<input type="submit">'
'</form></body></html>')
def post(self):
form1 = PhoneNumberForm(self.request.POST or None)
form2 = Contact(self.request.POST or None)
if form1.is_valid() and form2.is_valid():
form1.save()
form2.save()
else:
# re-display page....
def post(自我):
form1=电话号码表单(self.request.POST或None)
form2=联系人(self.request.POST或无)
如果form1.is_valid()和form2.is_valid():
表格1.save()
表格2.save()
其他:
#重新显示页面。。。。
您的问题中有两个地方错误地将“data2”传递给表单的构造函数(MainPage类和EditPage类),请确保将它们都更正。您实际上可以稍微简化代码 class Contact(db.Model): name = db.StringProperty() birth_day = db.DateProperty() address = db.PostalAddressProperty() added_by = db.UserProperty(auto_current_user_add=True) class PhoneNumber(db.Model): contact = db.ReferenceProperty(Contact, collection_name='phone_numbers') phone_type = db.StringProperty( choices=('home', 'work', 'fax', 'mobile', 'other')) number = db.PhoneNumberProperty() added_by = db.UserProperty(auto_current_user_add=True) 班级联系方式(db.Model): name=db.StringProperty() 出生日=db.DateProperty() 地址=db.PostalAddressProperty() added\u by=db.UserProperty(auto\u current\u user\u add=True) 类别电话号码(db.Model): contact=db.ReferenceProperty(触点, 集合(名称=”电话号码“) phone_type=db.StringProperty( 选项=(‘家’、‘工作’、‘传真’、‘手机’、‘其他’) number=db.PhoneNumberProperty() added\u by=db.UserProperty(auto\u current\u user\u add=True) 您不需要在表单的保存方法中添加当前用户,您可以让appengine自动添加 在def post(self):函数中,不应该使用data2参数实例化表单,这是无效的。我通常会这样做:
def post(self):
#print self.request
#print self.request.POST
data = PhoneNumberForm(data=self.request.POST)
data2 = ContactForm(data=self.request.POST)
if data.is_valid() and data2.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()
entity = data2.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(data2)
self.response.out.write('</table>'
'<input type="submit">'
'</form></body></html>')
def post(self):
form1 = PhoneNumberForm(self.request.POST or None)
form2 = Contact(self.request.POST or None)
if form1.is_valid() and form2.is_valid():
form1.save()
form2.save()
else:
# re-display page....
def post(自我):
form1=电话号码表单(self.request.POST或None)
form2=联系人(self.request.POST或无)
如果form1.is_valid()和form2.is_valid():
表格1.save()
表格2.save()
其他:
#重新显示页面。。。。
您的问题中有两个地方错误地将“data2”传递给表单的构造函数(MainPage类和EditPage类),请务必同时更正它们。这似乎对我有效 改变
data = PhoneNumber(data=self.request.POST)
data2 = Contact(data=self.request.POST)
到
def post(self):
#打印自我请求
#打印self.request.POST
数据=电话号码格式(数据=self.request.POST)
数据2=联系人表单(数据=self.request.POST)
如果data.is_有效():
#保存数据,并重定向到查看页面
实体=数据。保存(提交=错误)
entity.added_by=users.get_current_user()
实体.put()
self.redirect(“/items.html”)
如果data2.is_有效():
#保存数据,并重定向到查看页面
entity=data2.save(commit=False)
entity.added_by=users.get_current_user()
实体.put()
self.redirect(“/items.html”)
其他:
#重印表格
自我。回应。输出。写入(“”)
''
'')
self.response.out.write(数据)
self.response.out.write(数据2)
自我。回应。输出。写入(“”)
''
'')
这似乎对我有效
改变
data = PhoneNumber(data=self.request.POST)
data2 = Contact(data=self.request.POST)
到
def post(self):
#打印自我请求
#打印self.request.POST
数据=电话号码格式(数据=self.request.POST)
数据2=联系人表单(数据=self.request.POST)
如果data.is_有效():
#保存数据,并重定向到查看页面
实体=数据。保存(提交=错误)
entity.added_by=users.get_current_user()
实体.put()
self.redirect(“/items.html”)
如果data2.is_有效():
#保存数据,然后重新录制