好的,全部。我知道这是许多人在各种情况下已经解决的问题,但我不能为我的生活让我的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,但当前问题没有变化。
答案 0 :(得分:0)
我无法测试它,但也许可以尝试更改它:
SQL table
到此:
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
顺便说一下,版本1.9不受支持,也存在安全风险。您可能想要升级到另一个版本。
答案 1 :(得分:0)
您是否可以尝试使用绝对路径创建STATIC_ROOT var并检查它是否有效?
也许构建那个var是不行的。
您还可以通过
检查STATIC_ROOT varpython manage.py shell
并查看它是否正确适合您的路径。