Я пытаюсь настроить сервер флеш-памяти, который добавляет данные/пользователей в базу данных mongoDB. я создал БД (с использованием Монго оболочки), так как:Flask server with MongoDB (flask-pymongo)
>use dbname
switched to dbname
>db.users.save({username:"user", password:"pass"})
WriteResult({ "nInserted" : 1 })
И подтвердить данные записываются с db.users.find().
Я добавил пользователь Монго так:
>use admin
switched to db admin
>var w = { user:"user", roles:["readWriteAnyDatabase"], pwd:"password"}
>db.createUser(w)
Мой config.py выглядит следующим образом:
...
MONGO_URI = 'mongodb://user:[email protected]ost:27017/dbname'
и мой питон выглядит следующим образом:
from flask import render_template, flash, redirect, Flask
from app import app
from flask_pymongo import PyMongo
from .forms import LoginForm
appp = Flask(__name__)
mongo = PyMongo(appp)
@app.route('/login', methods=['GET', 'POST'])
def login:
form = LoginForm()
if form.validate_on_submit():
user = {"username": form.username.data,
"password": form.password.data}
post_id = mongo.db.users.insert_one(user)
flash('Login req: u=%s, p=%s' % (form.username.data, str(form.remember_me.data)))
return redirect('/index')
Я думал, что все был хорошо, но я получил это, когда пробовал:
Возможно, что-то говорит о config_prefix? Документы говорят, что config_prefix по умолчанию установлен на «MONGO», а в моей конфигурации префикс - mongo. Должно быть, я что-то SOS