Make the fastapi application the main asgi one.
This commit is contained in:
parent
b081d0129f
commit
0fa2f2da3b
@ -1,15 +1,7 @@
|
|||||||
import os
|
|
||||||
|
|
||||||
from django.core.wsgi import get_wsgi_application
|
|
||||||
|
|
||||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "etebase_server.settings")
|
|
||||||
application = get_wsgi_application()
|
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
|
||||||
# Not at the top of the file because we first need to setup django
|
# Not at the top of the file because we first need to setup django
|
||||||
from fastapi import FastAPI, Request
|
from fastapi import FastAPI, Request
|
||||||
from fastapi.middleware.wsgi import WSGIMiddleware
|
|
||||||
from fastapi.middleware.cors import CORSMiddleware
|
from fastapi.middleware.cors import CORSMiddleware
|
||||||
from fastapi.middleware.trustedhost import TrustedHostMiddleware
|
from fastapi.middleware.trustedhost import TrustedHostMiddleware
|
||||||
|
|
||||||
@ -30,15 +22,16 @@ app.include_router(item_router, prefix=f"{BASE_PATH}/collection/{COLLECTION_UID_
|
|||||||
app.include_router(member_router, prefix=f"{BASE_PATH}/collection/{COLLECTION_UID_MARKER}", tags=["member"])
|
app.include_router(member_router, prefix=f"{BASE_PATH}/collection/{COLLECTION_UID_MARKER}", tags=["member"])
|
||||||
app.include_router(invitation_incoming_router, prefix=f"{BASE_PATH}/invitation/incoming", tags=["incoming invitation"])
|
app.include_router(invitation_incoming_router, prefix=f"{BASE_PATH}/invitation/incoming", tags=["incoming invitation"])
|
||||||
app.include_router(invitation_outgoing_router, prefix=f"{BASE_PATH}/invitation/outgoing", tags=["outgoing invitation"])
|
app.include_router(invitation_outgoing_router, prefix=f"{BASE_PATH}/invitation/outgoing", tags=["outgoing invitation"])
|
||||||
|
|
||||||
if settings.DEBUG:
|
if settings.DEBUG:
|
||||||
from .test_reset_view import test_reset_view_router
|
from etebase_fastapi.test_reset_view import test_reset_view_router
|
||||||
|
|
||||||
app.include_router(test_reset_view_router, prefix=f"{BASE_PATH}/test/authentication")
|
app.include_router(test_reset_view_router, prefix=f"{BASE_PATH}/test/authentication")
|
||||||
|
|
||||||
app.add_middleware(
|
app.add_middleware(
|
||||||
CORSMiddleware, allow_origin_regex="https?://.*", allow_credentials=True, allow_methods=["*"], allow_headers=["*"]
|
CORSMiddleware, allow_origin_regex="https?://.*", allow_credentials=True, allow_methods=["*"], allow_headers=["*"]
|
||||||
)
|
)
|
||||||
app.add_middleware(TrustedHostMiddleware, allowed_hosts=settings.ALLOWED_HOSTS)
|
app.add_middleware(TrustedHostMiddleware, allowed_hosts=settings.ALLOWED_HOSTS)
|
||||||
app.mount("/", WSGIMiddleware(application))
|
|
||||||
|
|
||||||
|
|
||||||
@app.exception_handler(CustomHttpException)
|
@app.exception_handler(CustomHttpException)
|
@ -1,16 +1,17 @@
|
|||||||
"""
|
|
||||||
ASGI config for etebase_server project.
|
|
||||||
|
|
||||||
It exposes the ASGI callable as a module-level variable named ``application``.
|
|
||||||
|
|
||||||
For more information on this file, see
|
|
||||||
https://docs.djangoproject.com/en/3.0/howto/deployment/asgi/
|
|
||||||
"""
|
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from django.core.asgi import get_asgi_application
|
from django.core.asgi import get_asgi_application
|
||||||
|
|
||||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "etebase_server.settings")
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "etebase_server.settings")
|
||||||
|
django_application = get_asgi_application()
|
||||||
|
|
||||||
application = get_asgi_application()
|
|
||||||
|
def create_application():
|
||||||
|
from etebase_fastapi.main import app
|
||||||
|
|
||||||
|
app.mount("/", django_application)
|
||||||
|
|
||||||
|
return app
|
||||||
|
|
||||||
|
|
||||||
|
application = create_application()
|
||||||
|
@ -1,8 +1,12 @@
|
|||||||
|
import os
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.conf.urls import include, url
|
from django.conf.urls import include, url
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.urls import path
|
from django.urls import path, re_path
|
||||||
from django.views.generic import TemplateView
|
from django.views.generic import TemplateView
|
||||||
|
from django.views.static import serve
|
||||||
|
from django.contrib.staticfiles import finders
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
url(r"^api/", include("django_etebase.urls")),
|
url(r"^api/", include("django_etebase.urls")),
|
||||||
@ -14,3 +18,12 @@ if settings.DEBUG:
|
|||||||
urlpatterns += [
|
urlpatterns += [
|
||||||
url(r"^api-auth/", include("rest_framework.urls", namespace="rest_framework")),
|
url(r"^api-auth/", include("rest_framework.urls", namespace="rest_framework")),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
def serve_static(request, path):
|
||||||
|
filename = finders.find(path)
|
||||||
|
dirname = os.path.dirname(filename)
|
||||||
|
basename = os.path.basename(filename)
|
||||||
|
|
||||||
|
return serve(request, basename, dirname)
|
||||||
|
|
||||||
|
urlpatterns += [re_path(r"^static/(?P<path>.*)$", serve_static)]
|
||||||
|
@ -1,16 +0,0 @@
|
|||||||
"""
|
|
||||||
WSGI config for etebase_server project.
|
|
||||||
|
|
||||||
It exposes the WSGI callable as a module-level variable named ``application``.
|
|
||||||
|
|
||||||
For more information on this file, see
|
|
||||||
https://docs.djangoproject.com/en/3.0/howto/deployment/wsgi/
|
|
||||||
"""
|
|
||||||
|
|
||||||
import os
|
|
||||||
|
|
||||||
from django.core.wsgi import get_wsgi_application
|
|
||||||
|
|
||||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "etebase_server.settings")
|
|
||||||
|
|
||||||
application = get_wsgi_application()
|
|
Loading…
Reference in New Issue
Block a user