我无法得到我的静态文件.我尝试了各种设置和目录配置等等,但它们只是变成404s.我安装了debug_toolbar,因此知道STATIC_URL正在到达我的请求上下文.
目录结构显示/静态(我还将目录放在饭菜app文件夹和用户内部,只是为了试一试.
/mealmate
/mealmate
/meals
/static
/css
/bootstrap.min.css
/templates
/users
Run Code Online (Sandbox Code Playgroud)
Settings.py(一些重要的设置,虽然我已尝试过各种其他设置):
MEDIA_ROOT = os.path.join(PROJECT_PATH, 'media/')
STATIC_URL = '/static/'
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
)
WSGI_APPLICATION = 'mealmate.wsgi.application'
Run Code Online (Sandbox Code Playgroud)
在base.html中呈现
<link rel="stylesheet" href="/static/css/bootstrap.min.css">
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?谢谢
这个问题很简单,但我无法弄清楚
添加到我的urlpatterns
url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/home/user/www/site/static'})
Run Code Online (Sandbox Code Playgroud)
我的main.css是:/home/user/www/site/static/css/main.css
当我访问http:// localhost:8000/static /
我得到:404:这里不允许目录索引.
当我访问http:// localhost:8000/static/css/main.css时
我得到:404:'css/main.css'找不到
我究竟做错了什么?
固定它:
url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT } ),
Run Code Online (Sandbox Code Playgroud)
在settings.py中
# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/home/media/media.lawrence.com/static/"
STATIC_ROOT = os.path.join(CURRENT_PATH, 'static') #=='/home/user/www/site/static'
# URL prefix for static files.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = '/mystatic/'
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我唯一真正改变的是从STATIC_URL ='/ static …