在uwsgi+Django下部署静态文件遇到的坑

在pycharm中静态文件可以加载,但是到了服务端却加载不出来了。我做了修复。

一、首先先了解这些必要的配置:

A、setting中

1.STATIC_URL = '/static/'
这个配置是让网页可以访问到静态文件https://www.xxxxx.cn/static/css/index.css,就像这样,相当于给了一个叫做static的路由,这样就有了一个能够访问到静态文件的地址了。

2.STATIC_ROOT = os.path.join(BASE_DIR, ‘collectedstatic’)
这个配置是为了将静态文件复制到一个所有服务端用户都可以访问的文件夹:collectedstatic,名字任取,部署的时候操作。其中BASE_DIR是项目根目录,和manage.py同级。

3.STATICFILES_DIRS = [
os.path.join(BASE_DIR, ‘static’),
]

这个配置是为了让Django在查找静态文件的时候不仅进去app里面找,还要去app外主目录中找,就像template有app内和app外一样,这里的static也有内外之分,加了这句话就可以让外部的static已能找得到,要注意Django的查找方式惰性查找,找到一个就不会找第二个,我觉得及知道了该怎么做吧。其中的static就是你存放static的目录。

B、uwsgi.ini中

uwsgi.ini
这里填写我们复制到的静态文件夹目录,让uwsgi服务能够找到我们的静态文件。

二、操作步骤

1.在pycharm中存放静态文件到manage.py同级的static中,吧项目搞到服务端去。

2.在settings.py中作如上配置。

3.创建文件夹
在项目路径下创建。
$ mkdir static

4.收集静态文件
$ python manage.py collectedstatic

5.修改uwsgi.ini
static-map = /static=项目路径/collectedstatic
注意不要漏了前面的“/static=”。

5.启动(虚拟环境下)
$ uwsgi --ini uwsgi.ini

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值