Я изучаю фреймворк Flask и создаю блог-сайт, используя MongoDB в качестве моей базы данных.Я вполне могу сохранить свои данные в коллекции в виде документа, но у меня возникают проблемы с извлечением сохраненного документа из моей коллекции.
Я использую API-интерфейс Azure Cosmos DB MongoDB для своей коллекции.Пожалуйста, найдите необходимые скриншоты ниже.
Определение класса документа
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')
Документация MongoEngine - для получения
Ошибка при получении документа
@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" также мало информации.