问题:
在本地写好的项目要给其它人使用,就要部署到云服务器端。使用docker可以很方便的将django部署到云服务器,但是当Debug由True变成False时(即项目由开发模式变成生产模式,有这个需要的话),样式加载会出现错误,下面说一下解决方法。
解决:
不会docker部署的小伙伴可以参考以下博文部署django项目:
django的docker部署
先看下目录结构:
static在项目根目录。
django项目的样式都是放在static文件夹里面,所以解决问题的方法是指定static的路径。首先在settings.py里面添加如下代码:
STATIC_URL = '/static/'
STATIC_ROOT = 'static'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "/static/"),
)
然后在项目的urls.py(注意不是app的urls.py)添加如下代码(相当于添加一个指定static位置的url):
# 导入对应包
from django.conf import settings
from django.views import static
from django.conf.urls import url
# 添加以下一条路由
urlpatterns = [
url(r'^static/(?P<path>.*)$', static.serve,
{'document_root': settings.STATIC_ROOT},name='static'),]
最后大功告成,重新打开网页会发现样式不会乱了。