mirror of
https://github.com/fastapi-admin/fastapi-admin.git
synced 2025-08-15 11:11:19 +08:00
add Makefile
update cli
This commit is contained in:
@ -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")
|
||||
|
Reference in New Issue
Block a user