要在Django-Ninja项目中实现跨域(CORS),你可以使用django-cors-headers库,这是一个专门用于处理跨域资源共享(CORS)问题的Django应用程序。以下是具体的步骤和配置:
-  安装依赖: 
 使用pip安装django-cors-headers:pip install django-cors-headers
-  修改设置: 
 在你的Django项目的settings.py文件中进行以下修改:- 注册应用:在INSTALLED_APPS列表中添加'corsheaders':INSTALLED_APPS = [# ...'corsheaders',# ... ]
- 添加中间件:在MIDDLEWARE列表中添加'corsheaders.middleware.CorsMiddleware',并确保它位于'django.middleware.common.CommonMiddleware'之前:MIDDLEWARE = [# ...'corsheaders.middleware.CorsMiddleware',# 'django.middleware.common.CommonMiddleware', # 确保CorsMiddleware在其之前# ... ]
- 配置CORS设置:在settings.py文件中添加CORS的配置项。你可以根据需求配置允许的源、请求方法和请求头:CORS_ALLOW_ALL_ORIGINS = True # 允许所有源跨域 # 或者配置白名单 # CORS_ALLOWED_ORIGINS = [ # 'http://example.com', # 'https://sub.example.com', # ] CORS_ALLOW_METHODS = ['DELETE','GET','OPTIONS','PATCH','POST','PUT', ] CORS_ALLOW_HEADERS = ['accept','accept-encoding','authorization','content-type','dnt','origin','user-agent','x-csrftoken','x-requested-with', ] CORS_ALLOW_CREDENTIALS = True # 如果需要跨域请求携带凭证(如Cookies)
 
- 注册应用:在
以上步骤完成后,你的Django-Ninja项目应该能够处理跨域请求了。请注意,允许所有源(CORS_ALLOW_ALL_ORIGINS = True)可能会带来安全风险,因此在生产环境中,建议仅允许必要的源进行跨域请求。