[英]How to properly save form data in Google App Engine
我有一個電子郵件表單,試圖將用戶的電子郵件地址保存到數據庫中。 該模型如下所示:
class EmailForm(db.Model):
email_address = db.EmailProperty
我一直在使用像這樣的一些教程作為指南,其中表單中的數據是這樣保存的:
title = form.title.data,
content = form.content.data
當我遵循相同的約定時
email = form.email_address.data
出現錯誤,EmailProperty沒有數據屬性。
我是Google App Engine的新手,但未在文檔中找到答案。 謝謝!
您正在嘗試將模型用作表單,這是兩種不同的方式。
你還需要一步
from flaskext import wtf
from flaskext.wtf import validators
class EmailModel(db.Model):
email_address = db.EmailProperty
class EmailForm(wtf.Form):
email = wtf.TextField('Email Address', validators=[validators.Email()])
現在,在您看來,您可以像這樣使用表格。
@app.route('/register', methods=['POST']
def register():
form = EmailForm()
if form.validate_on_submit():
# This part saves the data from the form to the model.
email_model = EmailModel(email_address = form.email.data)
email.put()
我想這就是您要尋找的東西: https : //developers.google.com/appengine/docs/python/datastore/typesandpropertyclasses#Email
email_address = db.EmailProperty()
email_address = db.Email(“ larry@example.com”)
您正在使用舊的db類,而是使用ndb,只需將db替換為ndb( https://docs.google.com/document/d/1AefylbadN456_Z7BZOpZEXDq8cR8LYu7QgI7bt5V0Iw/edit?ndplr=1&pli=1 )
使用StringProperty代替EmailProperty,所以..
class UserEmail(ndb.Model): email_address = ndb.StringProperty()
要將模型放入數據存儲區,請執行此操作
user = UserEmail(email_address='foobar@gmail.com') user.put()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.