静态方法在Django中返回空列表

时间:2019-01-23 08:37:43

标签: django django-rest-framework

我正在尝试在本地服务器上运行Django应用。在mu Ubuntu机器上工作正常,但在mac上,我无法获取CSS

localhost:8000/admin

localhost:8000/docs to load.

进一步研究时,我发现主“ urls.py”文件中的静态URL 返回一个空列表而不是URL模式。

有人知道为什么在新的mac系统上会是这样吗?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。通过将以下代码段添加到项目中的urls.py文件(settings.py旁边的urls.py文件),我能够手动修复它。

from django.conf import settings
from django.conf.urls.static import static
from django.views.static import serve
. . .
if settings.TESTING_PRODUCTION:
    urlpatterns += [
        re_path(r'^static/(?P<path>.*)$', serve, {
            'document_root': settings.STATIC_ROOT,
        }),
        ]

我从Django Docs here那里拿走了。

我需要这样做,以便可以通过在settings.py中手动设置DEBUG = False来使用manage.py runserver测试“生产”环境,这会更改其他一些URL并在代码中关闭跟踪打印。 / p>

在我的settings.py文件中,我还有一些代码也可以将TESTING_PRODUCTION设置为True。但是在使用实际Web服务器的实际生产中,代码应将TESTING_PRODUCTION设置为False,以便静态文件可以直接由Web服务器而不是通过Django提供。