您现在的位置是:网站首页>>Python>>Django

django 将Debug设为False无法加载静态文件

发布时间:2019-01-31 11:37:24作者:wangjian浏览量:841点赞量:1

    今天准备将我写的Python项目上传到服务器上,准备将DEBUG改成False,当时发现将DEBUG改成False之后,静态文件无法加载,这是由于Django设置DEBUG为False时,'django.contrib.staticfiles'会关闭,即Django不会自动搜索静态文件

    解决:

    1:将settings.py文件的静态配置修改成

    STATIC_URL = '/static/'
    STATIC_ROOT = os.path.join(BASE_DIR, 'collectedstatic')#将debug改成False后,静态文件目录
    STATICFILES_DIRS = (
                os.path.join(BASE_DIR,"static"),  #实际名 ,即实际文件夹的名字(项目根目录下的static文件夹下放置静态文件)
            )

    2:在urls.py文件中添加

    from django.views import static
    from django.conf import settings
    from django.conf.urls import url
    urlpatterns += [
        url(r'^static/(?P<path>.*)$', static.serve, {'document_root': settings.STATIC_ROOT }, name='static'),#注意这里只能使用url方法,不能使用path方法
    ]

    3:在目录目录下新建collectstatic文件后执行命令收集静态文件

    python manage.py collectstatic

    这时候可以看到在collectstatic目录下有我们所需的静态文件,这时候访问网站,静态文件加载成功

1 +1