mvc-flask-pymongo
mvc-flask-pymongo copied to clipboard
Model-Based Python and Mongo DB Web Restful Service
Model Based Validator design for Flask (Python) and Mongo DB
Model based custom validation for flask (python). Use Flask server and mongo db. Integrate with any SPA API development.
Create virtual environment and install requirements
pip install -r requirements.txt
Configure Database
From db_config.json configure datbase url, name, user and password
{
"db": {
"url" : "mongodb://localhost:27017/",
"name" :"db_name",
"user" :"",
"password" :""
}
}
In model update collection name and desire fields name and fields type. For example see todo model file
From model folder write your individual model and configure db collection name, fields name and fields type
Example
In todo model update collection name, fields name and fields type
collection_name = 'todos' # collection name
fields = {
"title" : "string",
"body" : "string",
"created" : "datatime"
}
Update required fields, optional fields from todo model
create_required_fields = [] # example create_required_fields = ["title", "body"]
create_optional_fields = [] # example create_required_fields = ["created"]
update_required_fields = []
update_optional_fields = []
Example
create_required_fields = ["title", "body"]
create_optional_fields = []
update_required_fields = ["title", "body"]
update_optional_fields = []
In Database insert, find , find_by_id, update and delete methods are generalize methods.
Those methods are call from model
-
insert
method store data to database after confirm validation from model -
find
method retries all data from mongo database -
find_by_id
method retries back a single search data -
update
method store updated data to database with corresponding id - and
delete
method delete data from database with corresponding id
List of Todo Routes
Request | Endpoint | Details |
---|---|---|
GET |
http://127.0.0.1:5000/todos |
Get All |
GET |
http://127.0.0.1:5000/todos/todo_id |
Get Single Id |
POST |
http://127.0.0.1:5000/todos |
Insert One |
PUT |
http://127.0.0.1:5000/todos/todo_id |
Update One |
DELETE |
http://127.0.0.1:5000/todos/todo_id |
Delete One |
- To see route list type cli
flask routes
Lets run the App
python app.py