我正在学习Flask框架,并使用MongoDB作为后端数据库来创建博客网站。我完全能够将数据作为文档保存到集合中,但是我很难从集合中检索保存的文档。
我正在使用Azure Cosmos DB MongoDB API进行收集。请在下面找到必要的屏幕截图。
文档类定义
class UserDocument(Document, UserMixin):
username = StringField(min_length=2,max_length=100,required=True,unique=True)
email = EmailField(required=True,unique=True)
password = StringField(max_length=60,required=True,unique=True)
remember = BooleanField(required=True,default=True,unique=True)
meta = { 'collection' : 'UserDocument'}
注册路线-保存我的文档
@app.route("/register",methods= ["POST","GET"] )
def register():
form = RegistrationForm()
if form.validate_on_submit():
if request.method == "POST":
user = UserDocument()
user.username = form.username.data
user.email = form.email.data
user.password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
user.save()
flash(form.password.data,"Info")
return render_template('register.html',form=form,title='Register')
检索文档中的问题
@app.route("/login",methods= ["POST","GET"] )
def login():
form = LoginForm()
if form.validate_on_submit():
if request.method == "POST":
# table = client.db.MongoEngineDB
# user = table.UserDocument.find_one({'email':form.email.data})
user = UserDocument.objects(username=form.email.data)
flash(user, "Info")
return render_template('login.html',form=form,title='Login')
我不确定自己在哪里弄糟,我确实花了很多时间试图通过浏览大量内容来弄清楚自己,但无法找到根本原因。不知道这是否与任何缺少的模块或“ UserDocument”类定义有关。
"flask-mongoengine" documentation中也没有太多信息。