在我們平時的開發過程中,為了方便調試程序,我們都是打開開發者模式,即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