add Makefile

update cli
This commit is contained in:
long2ice
2020-05-22 21:28:32 +08:00
parent ae4eb02145
commit afabc6cd27
26 changed files with 782 additions and 384 deletions

View File

@ -1,7 +1,7 @@
import os
import uvicorn
from fastapi import FastAPI, Depends
from fastapi import Depends, FastAPI
from starlette.middleware.cors import CORSMiddleware
from starlette.templating import Jinja2Templates
from tortoise.contrib.fastapi import register_tortoise
@ -13,53 +13,42 @@ from fastapi_admin.schemas import BulkIn
from fastapi_admin.site import Site
TORTOISE_ORM = {
'connections': {
'default': os.getenv('DATABASE_URL')
},
'apps': {
'models': {
'models': ['examples.models', 'fastapi_admin.models'],
'default_connection': 'default',
"connections": {"default": os.getenv("DATABASE_URL")},
"apps": {
"models": {
"models": ["examples.models", "fastapi_admin.models"],
"default_connection": "default",
}
}
},
}
templates = Jinja2Templates(directory='examples/templates')
templates = Jinja2Templates(directory="examples/templates")
@admin_app.post(
'/rest/{resource}/bulk/test_bulk'
)
async def test_bulk(
bulk_in: BulkIn,
model=Depends(get_model)
):
@admin_app.post("/rest/{resource}/bulk/test_bulk")
async def test_bulk(bulk_in: BulkIn, model=Depends(get_model)):
qs = model.filter(pk__in=bulk_in.pk_list)
pydantic = pydantic_queryset_creator(model)
ret = await pydantic.from_queryset(qs)
return ret.dict()
@admin_app.get(
'/home',
)
@admin_app.get("/home",)
async def home():
return {
'html': templates.get_template('home.html').render()
}
return {"html": templates.get_template("home.html").render()}
def create_app():
fast_app = FastAPI(debug=False)
register_tortoise(fast_app, config=TORTOISE_ORM, generate_schemas=True)
fast_app.mount('/admin', admin_app)
fast_app.mount("/admin", admin_app)
fast_app.add_middleware(
CORSMiddleware,
allow_origins=['*'],
allow_origins=["*"],
allow_credentials=True,
allow_methods=['*'],
allow_headers=['*'],
allow_methods=["*"],
allow_headers=["*"],
)
return fast_app
@ -68,25 +57,25 @@ def create_app():
app = create_app()
@app.on_event('startup')
@app.on_event("startup")
async def start_up():
admin_app.debug = False
admin_app.init(
user_model='User',
tortoise_app='models',
admin_secret='test',
user_model="User",
tortoise_app="models",
admin_secret="test",
permission=True,
site=Site(
name='FastAPI-Admin DEMO',
logo='https://github.com/long2ice/fastapi-admin/raw/master/front/static/img/logo.png',
login_footer='FASTAPI ADMIN - FastAPI Admin Dashboard',
login_description='FastAPI Admin Dashboard',
locale='en-US',
name="FastAPI-Admin DEMO",
logo="https://github.com/long2ice/fastapi-admin/raw/master/front/static/img/logo.png",
login_footer="FASTAPI ADMIN - FastAPI Admin Dashboard",
login_description="FastAPI Admin Dashboard",
locale="en-US",
locale_switcher=True,
theme_switcher=True,
)
),
)
if __name__ == '__main__':
uvicorn.run('main:app', port=8000, debug=False, reload=False, lifespan='on')
if __name__ == "__main__":
uvicorn.run("main:app", port=8000, debug=False, reload=False, lifespan="on")