Django生产环境静态资源404问题

打印 上一主题 下一主题

主题 669|帖子 669|积分 2007

首先原因是因为禁止了DEBUGDEBUG = False,所以导致找不到静态资源,但是生产环境是必须要关闭DEBUG的,所以我们需要找给Django开设一条路由来解决此问题。
settings配置如下所示:
  1. STATIC_URL = '/static/'
  2. if DEBUG:
  3.     STATICFILES_DIRS = [
  4.         os.path.join(BASE_DIR, "static"),
  5.     ]
  6. else:
  7.     STATIC_ROOT = os.path.join(BASE_DIR, 'static')<br><br>
复制代码
  1. # 把英文改为中文
  2. LANGUAGE_CODE = 'zh-hans'
  3. # 把国际时区改为中国时区
  4. TIME_ZONE = 'Asia/Shanghai'
复制代码
  1. [/code]项目主urls配置如下所示:
  2.  [code]from django.contrib import admin
  3. from django.urls import path, re_path, include
  4. from django.views.static import serve
  5. from django.conf import settings
  6. urlpatterns = [
  7.     path('admin/', admin.site.urls),
  8.     re_path('^static/(?P<path>.*)', serve, {'document_root': settings.STATIC_ROOT}),
  9. ]
复制代码
 搜集静态资源文件
  1. python manage.py collectstatic
复制代码
 
然后重启你的托管服务如gunicorn,没有的话就直接重启Django就可以了。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

商道如狼道

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表