flask-crud-generator


Nameflask-crud-generator JSON
Version 0.2.0 PyPI version JSON
download
home_pagehttps://github.com/UltraViolet33/flask_crud_generator
SummaryA Flask extension to generate CRUD routes based on models.
upload_time2024-08-30 09:18:13
maintainerNone
docs_urlNone
authorUltraviolet33
requires_python>=3.6
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## 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"
}
        
Elapsed time: 0.77633s