Django STATIC_URL只能在没有前导斜杠的情况下工作

时间:2016-10-29 01:51:36

标签: django static

Django 1.10在开发中使用runserver

出于某种原因,我的静态目录中找不到任何文件,除非我将其列为:

STATIC_URL = 'static/'                                   
if not os.environ.get('DEPLOYED'):                       
    STATIC_ROOT = os.path.join(BASE_DIR, "static/")      

但是我之前所做的所有文档和所有内容都说它应该是/ static /这让我觉得我在其他地方做错了。我正在使用Django的runserver

URLS:

if settings.DEBUG:
    from django.conf.urls.static import static
    from django.contrib.staticfiles import views

    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 

我现在输入localhost:8000 / static / index.html

进入网站

1 个答案:

答案 0 :(得分:1)

这是一个简单的误解。我做了尤金推荐的

findstatic index --verbosity=2

输出是3个静态文件夹,不是我的静态文件夹。我意识到我对STATIC_ROOT和STATICFILES_DIRS有一个基本的误解。我的静态文件夹的路径不在开发中的STATICFILES_DIRS中。

我将静态文件夹添加到STATICFILES_DIRS,我很好。我按照建议删除了URL引用。我不得不将STATIC_ROOT更改为不是该文件夹...这是有道理的,因为collectstatic会将所有内容移动到STATIC_ROOT文件夹进行部署。

This post also helped