docs: updated readme with example

This commit is contained in:
David Carmichael 2024-02-11 22:07:24 +00:00
parent 9687db5a96
commit 95eca4df19

View File

@ -11,3 +11,71 @@
Quart-Imp's main purpose is to help simplify the importing of blueprints, resources, and models.
It has a few extra features built in to help with securing pages and password authentication.
## Note
**Quart-Flask-Patch is required to use Quart-Imp.**
## Generate a Quart app
```bash
quart-imp init
```
## Example
```text
project/
└── app/
├── blueprints/
│ └── www/...
├── extensions/
│ └── __init__.py
├── resources/
│ ├── static/...
│ ├── templates/...
│ └── routes.py
└── __init__.py
```
`# app/extensions/__init__.py`
```python
import quart_flask_patch
from flask_sqlalchemy import SQLAlchemy
from quart_imp import Imp
_ = quart_flask_patch
imp = Imp()
db = SQLAlchemy()
```
`# app/__init__.py`
```python
from quart import Quart
from app.extensions import imp, db
def create_app():
app = Quart(__name__, static_url_path="/")
imp.init_app(app)
imp.import_app_resources(
files_to_import=["*"],
folders_to_import=["*"]
)
imp.import_blueprints("blueprints")
imp.import_models("models")
db.init_app(app)
@app.before_serving
async def create_tables():
db.create_all()
return app
```