学习目标:flask链接mongo
我的工程目录结构:
准备:
1、 搭建mongo环境,装好之后测试可以通过compass等工具连接上。2、 在项目的虚拟环境中安装flask_pymongo
pip install flask_pymongo
3、 在配置文件配置链接参数
PyFly/api/config.py
class Dev:
MONGO_URI = 'mongodb://localhost:27017/library'
pass
config = {
"Dev": Dev,
}
4、 在拓展文件中引入flask_pymongo包并设置配置
PyFly/api/extensions.py
from flask_pymongo import PyMongo
from .config import Dev
mongo = PyMongo()
def init_extensions(app):
mongo.init_app(app, Dev.MONGO_URI)
5、 在启动文件中的工厂函数中初始化PyMongo。
PyFly/api/init.py
from flask import Flask
from api.config import config
from api.extensions import init_extensions
from api.controllers import config_Blueprint
# 初始化模板全局函数
def create_app(config_name):
app = Flask(__name__)
# app.config.from_object(config[config_name])
init_extensions(app)
config_Blueprint(app)
@app.route('/')
def index():
return '<h1>hello,flask</h1>'
return app
6、在业务逻辑中使用,例如:
PyFly/api/contrller/user.py
@user.route('/login', methods=['get', 'post'])
def user_query():
name = request.values.get('user_name')
pwd = request.values.get('user_pwd')
# print(name)
# print(pwd)
obj = {
'user_name': name,
'user_pwd': pwd,
}
ok = mongo.db.user.find_one(obj)
if not ok:
response = jsonify({'message': 'user unfound'})
response.status_code = 203
return response
response = jsonify({'message': 'user found'})
response.status_code = 200
return response
学习产出:
1、通过下载网上案例,阅读案例代码学习配置了mongo链接数据库的方法2、掌握了工程化目录mongo配置方法