Django项目静态文件加载失败问题

时间:2021-01-10 20:18:52

在我们平时的开发过程中,为了方便调试程序,我们都是打开开发者模式,即Debug=True,当我们正式上线的时候肯定就需要把开发者模式关掉,用uwsgi部署上去以后,突然发现我们平时辛苦做的项目的静态文件没有加载出来,卧槽,怎么办呢。。。当然你也不用着急,因为在人群中你多看了一眼这篇博客。

1,在静态页面使用下面的方法加载静态资源

页面要加载静态文件,而且最好是使用绝对路径,配置如下

Django项目静态文件加载失败问题

2,在settings.py文件中配置

Django项目静态文件加载失败问题

在settings.py新增下面代码

1 STATIC_URL = '/static/'
2 STATIC_ROOT = os.path.join(BASE_DIR, '/static/')
3 STATICFILES_DIRS = (
4     os.path.join(BASE_DIR, 'static'),
5 )

3,在urls.py中配置

Django项目静态文件加载失败问题

在urls.py新增下面代码

url(r'^static/(?P<path>.*)$', static.serve,
        {'document_root': settings.STATIC_ROOT}, name='static')  # 解决静态文件加载失败问题

当然到这里本地上跑已经没问题了,但是用uwsgi启动项目发现还是没有静态文件。

4,收集,复制静态文件

使用如下下面命令收集文件

python manage.py collectstatic

启动uwsgi可以通过在uwsgi.ini文件中配置static-map配置或者通过--static-map参数启动

uwsgi+nginx+django部署可参考https://www.cnblogs.com/zzqit/p/10103303.html