Docker部署django样式没加载问题

问题:

在本地写好的项目要给其它人使用,就要部署到云服务器端。使用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'),]

最后大功告成,重新打开网页会发现样式不会乱了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值