File size: 1,964 Bytes
02ebbc8
 
b8c8e0a
02ebbc8
c8e2a8d
 
 
6363664
b8c8e0a
 
 
 
 
1afbeb8
 
6363664
 
 
b2add11
6363664
b2add11
6363664
b8c8e0a
b2add11
b8c8e0a
 
b2add11
b8c8e0a
b2add11
b8c8e0a
 
b2add11
b8c8e0a
c8e2a8d
 
 
 
 
b2add11
c8e2a8d
 
b8c8e0a
 
c8e2a8d
b8c8e0a
 
c8e2a8d
b8c8e0a
 
c8e2a8d
b8c8e0a
c8e2a8d
b8c8e0a
 
c8e2a8d
 
 
05165b5
c8e2a8d
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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 logging
import gradio as gr
from mysite.gradio_config import setup_gradio_interfaces
from mysite.webhook import setup_webhook_routes
from mysite.database import setup_database_routes
from mysite.asgi_config import init_django_app
from interpreter import interpreter
import mysite.interpreter_config  # インポートするだけで設定が適用されます
# ロガーの設定
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()

# Djangoアプリケーションの初期化
init_django_app(app, application)

# ミドルウェアの設定
app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

# Gradioインターフェースの設定
gradio_interfaces = setup_gradio_interfaces()

# Webhookルートの設定
setup_webhook_routes(app)

# データベースルートの設定
setup_database_routes(app)

# Gradioアプリのマウント
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})