Django dev服务器STILL不会提供静态文件

时间:2017-06-14 01:22:38

标签: django django-dev-server

好的,全部。我知道这是许多人在各种情况下已经解决的问题,但我不能为我的生活让我的Django 1.9开发服务器在本地计算机上提供静态内容。静态文件在部署前工作得很好,在我的部署服务器上完全正常,但现在在我的测试环境中(runserver的本地计算机正在运行)一切都坏了,我真的需要能够在开发环境中测试样式表。

我已尝试all of these solutions等,按照文档指南,在开发代码中再次使用collectstatic ...没有工作,我在我的智慧结束。

目前,我有DEBUG = True,以及以下设置:

文件夹层次结构

project/
   manage.py
   (&c)
   app/
     urls.py
     models.py
     (&c)
   project/
     settings.py
     urls.py
     (&c)
   static/
     styles/
     images/
     (&c)

settings.py静态文件设置

STATIC_URL = '/static/'

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

STATICFILES_DIRS = (
    os.path.join(STATIC_ROOT, 'styles/'),
    os.path.join(STATIC_ROOT, 'js/'),
    os.path.join(STATIC_ROOT, 'audio/'),
    os.path.join(STATIC_ROOT, 'images/'),
    os.path.join(STATIC_ROOT, 'admin/'),
    os.path.join(STATIC_ROOT, 'documents/'),
)

urls.py网址格式

from django.conf.urls import include, url, patterns
from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin

urlpatterns = [
    # ... project url patterns blah blah ...
]

if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    urlpatterns += patterns('', (r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root':settings.STATIC_ROOT, 'show_indexes': True}))

我的模板中还有{% load staticfiles %}以及相应的{% static %}来电(例如:{% static 'styles/main.css' %})。

作为参考,我在加载页面时命令行给出了以下内容:

"GET /static/styles/main.css HTTP/1.1" 404 1759

如果有人知道我错过了一个可能远程有雪球工作机会的修复,让我知道。这让我开始无法正常测试。

编辑:根据建议,我已在本地计算机上更新为Django 1.11,但当前问题没有变化。

2 个答案:

答案 0 :(得分:0)

我无法测试它,但也许可以尝试更改它:

SQL table

到此:

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

顺便说一下,版本1.9不受支持,也存在安全风险。您可能想要升级到另一个版本。

答案 1 :(得分:0)

您是否可以尝试使用绝对路径创建STATIC_ROOT var并检查它是否有效?

也许构建那个var是不行的。

您还可以通过

检查STATIC_ROOT var
python manage.py shell

并查看它是否正确适合您的路径。