Django :上线CSS样式丢失处理

遇到后,在查找了几个网站后,下面方法解决了我的问题:


问题:在利用 Nginx+uwsgi 部署Django项目之后,发现 admin 模块的CSS样式、JS等文件访问全部404,丢失找不到原始资源。


解决之道

setting.py 中新增配置 STATIC_ROOT , 然后 执行 python manage.py collectstatic

此时关于static的配置如下:

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.11/howto/static-files/

STATIC_ROOT = '/home/yanfriends_server/static'
STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),)

执行 python manage.py collectstatic 的结果如下:

(djangoblog) [root@i-pz58c8g2 simpleblog]# python manage.py collectstatic
Copying '/project/django/simpleblog/static/static/css/bootstrap.min.css'
Copying '/project/django/simpleblog/static/static/css/bootstrap-theme.min.css'
Copying '/project/django/simpleblog/static/static/css/django.css'
... ...
... ...
Copying '/root/.pyenv/versions/djangoblog/lib/python3.5/site-packages/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js'
Copying '/root/.pyenv/versions/djangoblog/lib/python3.5/site-packages/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js'

95 static files copied to '/opt/nginx/static'.

可以看出 python manage.py collectstatic 的作用是收集Django项目
中所有涉及到的静态资源,统计放到 STATIC_ROOT 管理访问

此时,修改 Nginx中关于Django项目的static配置为:

location /static {
        # alias /project/django/simpleblog/static;
        alias /home/yanfriends_server/static;
    }


最后访问admin模块发现可以带样式的正常访问!


链接:https://www.jianshu.com/p/38457576ce70

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

许进进

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值