2016-10-29 17 views
0

Django的1.10发展Django的STATIC_URL只有工作没有斜线

使用的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) 

我到现在网站通过键入本地主机:8000 /静态/ index.html的

+1

你不需要手动添加静态url到你的urlpatterns。这是自动完成的:https://docs.djangoproject.com/en/1.10/howto/static-files/#configuring-static-files - “在开发过程中,如果你使用django.contrib.staticfiles,这将自动完成通过runserver当DEBUG设置为True“ –

+0

我现在看到这个。但是,如果我从urls.py中移除urlpattern行并将STATIC_URL设置为/ static /或static /,则不起作用。然而,它的工作原理如上所示。我得到的错误是'index.html'无法找到使用相同的地址 – Diesel

+1

它应该工作。尝试findstatic命令:https://docs.djangoproject.com/en/1.10/ref/contrib/staticfiles/#findstatic用“--verbosity 2”来查看实际搜索的文件路径。 –

回答

1

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

findstatic index --verbosity=2 

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

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

This post also helped