|
import os |
|
from django.core.asgi import get_asgi_application |
|
from fastapi import FastAPI,Request |
|
from fastapi.staticfiles import StaticFiles |
|
from fastapi.templating import Jinja2Templates |
|
|
|
from starlette.middleware.cors import CORSMiddleware |
|
|
|
import gradio as gr |
|
from mysite.gradio.gradio_config import setup_gradio_interfaces |
|
from mysite.webhook.webhook import setup_webhook_routes,include_routers |
|
from mysite.database.database import setup_database_routes |
|
from mysite.config.asgi_config import init_django_app |
|
from interpreter import interpreter |
|
import mysite.interpreter.interpreter_config |
|
|
|
import logging |
|
logging.basicConfig(level=logging.INFO) |
|
logger = logging.getLogger(__name__) |
|
file_handler = logging.FileHandler("app.log") |
|
file_handler.setLevel(logging.INFO) |
|
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s") |
|
file_handler.setFormatter(formatter) |
|
logger.addHandler(file_handler) |
|
|
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings") |
|
application = get_asgi_application() |
|
|
|
app = FastAPI() |
|
|
|
|
|
init_django_app(app, application) |
|
|
|
|
|
app.add_middleware( |
|
CORSMiddleware, |
|
allow_origins=["*"], |
|
allow_credentials=True, |
|
allow_methods=["*"], |
|
allow_headers=["*"], |
|
) |
|
|
|
|
|
gradio_interfaces = setup_gradio_interfaces() |
|
|
|
|
|
include_routers(app) |
|
setup_webhook_routes(app) |
|
|
|
|
|
setup_database_routes(app) |
|
|
|
|
|
app.mount("/static", StaticFiles(directory="static", html=True), name="static") |
|
app = gr.mount_gradio_app(app, gradio_interfaces, "/") |
|
|
|
|
|
templates = Jinja2Templates(directory="static") |
|
|
|
@app.get("/test") |
|
def get_some_page(request: Request): |
|
return templates.TemplateResponse("index.html", {"request": request}) |
|
|