在我们平时的开发过程中,为了方便调试程序,我们都是打开开发者模式,即Debug=True,当我们正式上线的时候肯定就需要把开发者模式关掉,用uwsgi部署上去以后,突然发现我们平时辛苦做的项目的静态文件没有加载出来,卧槽,怎么办呢。。。当然你也不用着急,因为在人群中你多看了一眼这篇博客。
1,在静态页面使用下面的方法加载静态资源
页面要加载静态文件,而且最好是使用绝对路径,配置如下
2,在settings.py文件中配置
在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中配置
在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