Django设置DEBUG=False后静态文件无法加载

本文详细介绍了如何在Django项目中正确配置静态文件,包括修改App setting.py和urls.py文件的具体步骤,确保静态资源能够被正确加载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 首先修改App setting.py文件

STATIC_URL = '/static/'
STATIC_ROOT = 'static'         # 新增行
# STATICFILES_DIRS = [
# os.path.join(BASE_DIR, '/static/'),       # 修改地方
# ]

 

2. 修改urls.py

from django.views import static ##新增
from django.conf import settings ##新增
from django.conf.urls import url ##新增


urlpatterns = [
  path('', include('user.urls')),  
 ## 以下是新增
  url(r'^static/(?P<path>.*)$', static.serve,
      {'document_root': settings.STATIC_ROOT}, name='static'),
]

 

转载于:https://www.cnblogs.com/ray-h/p/10869877.html

### 优化 Django 配置以提高静态文件管理的最佳实践 #### 使用 `STATICFILES_STORAGE` 类来控制静态文件收集行为 为了更高效地管理和提供静态文件,在生产环境中推荐使用缓存版本的静态文件存储类。通过设置 `STATICFILES_STORAGE`,可以启用压缩和远端缓存功能,从而减少HTTP请求次数并加快页面加载速度[^1]。 ```python # settings.py 中配置 STATICFILES_STORAGE STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.ManifestStaticFilesStorage' ``` #### 启用白噪声 (Whitenoise) 来服务静态文件 对于小型至中型规模的应用程序来说,直接由 Web 服务器(如 Nginx 或 Apache)提供静态文件可能是不必要的复杂度。此时可以在应用层面上集成 WhiteNoise 库,它能够简化部署流程并且显著改善性能表现[^2]。 安装 white-noise 并更新中间件列表: ```bash pip install whitenoise ``` ```python MIDDLEWARE = [ ... 'whitenoise.middleware.WhiteNoiseMiddleware', ... ] STATIC_ROOT = BASE_DIR / "staticfiles" STATIC_URL = "/static/" STATICFILES_DIRS = [BASE_DIR / "static"] # 压缩静态文件 WHITENOISE_USE_FINDERS = True WHITENOISE_MANIFEST_STRICT = False ``` #### 利用 CDN 加速分发静态资源 当项目访问量较大时,考虑采用内容传递网络(Content Delivery Network,CDN),这样不仅可以减轻源站压力,还能利用全球分布节点快速响应用户的下载需求。只需修改 `STATIC_URL` 指向对应的CDN地址即可完成切换操作[^3]。 ```python import os if not DEBUG: AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME STATIC_URL = "https://%s/" % AWS_S3_CUSTOM_DOMAIN STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage' ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值