这个问题很简单,但我就是想不出来
添加到我的 urlpatterns
url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/home/user/www/site/static'})
我的 main.css 是: /home/user/www/site/static/css/main.css
当我访问时http://localhost:8000/static/ http://localhost:8000/static/
我得到:404:此处不允许目录索引。
当我访问时http://localhost:8000/static/css/main.css 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 } ),
在设置.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/'
正如你所看到的,我唯一真正改变的是从 STATIC_URL = '/static/' 到 STATIC_URL = '/mystatic/'
注意:当我到达时http://localhost:8000/mystatic http://localhost:8000/mystatic...我得到与上面相同的错误
我认为 STATIC_URL 应该是 '/static/' 这样你就可以在模板中使用 {{ STATIC_URL }} ...我真的不明白为什么这个修复有效以及为什么我必须做出我所做的更改....
为什么这有效?