DEFAULT_CORS_ALLOWED_ORIGINS等の views.pyでの管理方法
DEFAULT_CORS_ALLOWED_ORIGINS等の views.pyでの管理方法
Django の settings.py に書かずに views.py の中に 1 つだけ書いて、それぞれのビュークラスはインクルードする方法は、次のとおりです。
まず、views.py に次のコードを追加します。
# 共通の設定を定義するクラス
class CommonSettings:
permission_classes = [AllowAny]
cors_allowed_origins = ["http://localhost:5173"]
cors_allowed_methods = ["GET"]
cors_allow_credentials = True
次に、それぞれのビュークラスで次のコードを追加して、CommonSettings クラスをインクルードします。
from .common_settings import CommonSettings
class MyView(APIView):
settings = CommonSettings()
これで、すべてのビュークラスで次のコードを削除できます。
permission_classes = [AllowAny]
cors_allowed_origins = ["http://localhost:5173"]
cors_allowed_methods = ["GET"]
cors_allow_credentials = True
この方法では、settings.py に共通の設定を定義し、それぞれのビュークラスで CommonSettings クラスをインクルードすることで、共通の設定を集中管理できます。
また、特定のビュークラスでこれらの設定をオーバーライドするには、そのクラスの settings 属性を設定できます。たとえば、次のコードは、特定のビュークラスで cors_allowed_origins を "http://example.com: http://example.com" に設定します。
class MyView(APIView):
settings = CommonSettings()
settings.cors_allowed_origins = ["http://example.com"]
この記事が気に入ったらサポートをしてみませんか?