## Flask Crud Generator
Allow you to generate CRUD routes based on your models in a Flask application
```py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_crud_generator import CRUDGenerator
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///:memory:'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
crud = CRUDGenerator(app, db)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80))
email = db.Column(db.String(120), unique=True)
def to_dict(self):
return {'id': self.id, 'name': self.name, 'email': self.email}
class Product(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80))
def to_dict(self):
return {'id': self.id, 'name': self.name}
crud.generate_routes(User)
products = Blueprint("products", __name__)
# you can also pass a blueprint to a crud generator
crud.generate_routes(Product, products, 'products')
with app.app_context():
db.create_all()
if __name__ == '__main__':
app.run(debug=True)
```
Then go to <a href="http://localhost:5000/user">locahost:5000/user</a>
or <a href="http://localhost:5000/products">locahost:5000/product</a>
Todos :
- [ ] Support models relationships
- [ ] Support ORM other than SQLAlchemy
- [ ] Generate HTML views with basics forms
- [ ] Custom data validations
- [ ] Choose which CRUD operations for which model
Raw data
{
"_id": null,
"home_page": "https://github.com/UltraViolet33/flask_crud_generator",
"name": "flask-crud-generator",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": null,
"author": "Ultraviolet33",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/7e/84/cfa43ffeb54fd91a181ee7733e1daa828899e890afdc18dac3631be81b64/flask_crud_generator-0.2.0.tar.gz",
"platform": null,
"description": "## Flask Crud Generator\r\n\r\nAllow you to generate CRUD routes based on your models in a Flask application\r\n\r\n```py \r\nfrom flask import Flask\r\nfrom flask_sqlalchemy import SQLAlchemy\r\nfrom flask_crud_generator import CRUDGenerator\r\n\r\napp = Flask(__name__)\r\napp.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///:memory:'\r\napp.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False\r\n\r\ndb = SQLAlchemy(app)\r\ncrud = CRUDGenerator(app, db)\r\n\r\nclass User(db.Model):\r\n id = db.Column(db.Integer, primary_key=True)\r\n name = db.Column(db.String(80))\r\n email = db.Column(db.String(120), unique=True)\r\n\r\n def to_dict(self):\r\n return {'id': self.id, 'name': self.name, 'email': self.email}\r\n\r\nclass Product(db.Model):\r\n id = db.Column(db.Integer, primary_key=True)\r\n name = db.Column(db.String(80))\r\n\r\n def to_dict(self):\r\n return {'id': self.id, 'name': self.name}\r\n\r\ncrud.generate_routes(User)\r\nproducts = Blueprint(\"products\", __name__)\r\n# you can also pass a blueprint to a crud generator\r\ncrud.generate_routes(Product, products, 'products')\r\n\r\nwith app.app_context():\r\n db.create_all()\r\n\r\nif __name__ == '__main__':\r\n app.run(debug=True)\r\n```\r\n\r\nThen go to <a href=\"http://localhost:5000/user\">locahost:5000/user</a>\r\nor <a href=\"http://localhost:5000/products\">locahost:5000/product</a>\r\n\r\n\r\nTodos : \r\n\r\n- [ ] Support models relationships\r\n- [ ] Support ORM other than SQLAlchemy \r\n- [ ] Generate HTML views with basics forms \r\n- [ ] Custom data validations\r\n- [ ] Choose which CRUD operations for which model\r\n",
"bugtrack_url": null,
"license": null,
"summary": "A Flask extension to generate CRUD routes based on models.",
"version": "0.2.0",
"project_urls": {
"Homepage": "https://github.com/UltraViolet33/flask_crud_generator"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "05d682e3d0f6aa797d1a0748ed61616656adfcdd6a07f19234f1b84b95610d03",
"md5": "e3fad188541bb697425113bf75e8abc3",
"sha256": "dae0c5cdf53d2a6e138e908dbc9d7937039e66acaafa9d4e9d4b836bb8c3c1d0"
},
"downloads": -1,
"filename": "flask_crud_generator-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e3fad188541bb697425113bf75e8abc3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 5738,
"upload_time": "2024-08-30T09:18:11",
"upload_time_iso_8601": "2024-08-30T09:18:11.690538Z",
"url": "https://files.pythonhosted.org/packages/05/d6/82e3d0f6aa797d1a0748ed61616656adfcdd6a07f19234f1b84b95610d03/flask_crud_generator-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7e84cfa43ffeb54fd91a181ee7733e1daa828899e890afdc18dac3631be81b64",
"md5": "3b77e1b59613a1ba79af802be29b5712",
"sha256": "fa88da68e0719961788973bb4ab0d0f6bc9bfc91739023d6b569729774fdd09b"
},
"downloads": -1,
"filename": "flask_crud_generator-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "3b77e1b59613a1ba79af802be29b5712",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 4297,
"upload_time": "2024-08-30T09:18:13",
"upload_time_iso_8601": "2024-08-30T09:18:13.213076Z",
"url": "https://files.pythonhosted.org/packages/7e/84/cfa43ffeb54fd91a181ee7733e1daa828899e890afdc18dac3631be81b64/flask_crud_generator-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-30 09:18:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "UltraViolet33",
"github_project": "flask_crud_generator",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "flask-crud-generator"
}