django配置静态资源允许被跨域访问
时间: 2023-07-26 12:32:37 浏览: 70
在 Django 中,通常使用 Whitenoise 或者 Django 自带的 staticfiles 库来处理静态文件。为了允许静态资源被跨域访问,可以在项目的 settings.py 文件中添加以下配置:
```python
CORS_ORIGIN_ALLOW_ALL = True
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
```
其中,CORS_ORIGIN_ALLOW_ALL 用于允许所有来源的跨域访问。STATICFILES_DIRS 配置静态文件的路径,STATIC_URL 配置静态文件的 URL,STATIC_ROOT 配置静态文件的存储路径。
同时,也需要在项目的 urls.py 文件中添加以下配置:
```python
from django.urls import path, include
from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
# ...
]
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
```
这个配置会将静态文件映射到指定的 URL,从而使得静态资源可以被跨域访问。