dot*_*tty 41 python django static http-status-code-404
我对Django的staticfiles应用程序有一些小问题.
我已经添加了
'django.contrib.staticfiles',
Run Code Online (Sandbox Code Playgroud)
到我的INSTALLED_APPS并添加了
STATIC_URL = '/static/'
STATIC_ROOT = '/Users/kevdotbadger/django/mylook/static/'
Run Code Online (Sandbox Code Playgroud)
到我的settings.py档案.
我的所有静态文件都位于STATIC_ROOTMac上的文件夹中.
现在,在我使用的模板中
{{ STATIC_URL }}
Run Code Online (Sandbox Code Playgroud)
正确呈现的/static/.
然而
{{ STATIC_URL }}css/style.css
Run Code Online (Sandbox Code Playgroud)
导致404错误.我正在使用'runserver'命令作为服务器.
有什么我想念的吗?
jez*_*dez 119
我恳请你阅读这里的howto文档:http://docs.djangoproject.com/en/dev/howto/static-files/
简而言之:只有在调用collectstatic manangement命令时才使用STATIC_ROOT.不需要将目录添加到STATICFILES_DIRS设置来提供静态文件!
在开发期间(使用自动服务视图时),静态文件将自动在各个位置查找静态文件(因为您将其"服务"视图称为静态文件的路径).对于此搜索,它将使用所谓的"finders"(在STATICFILES_FINDERS设置中定义).
其中一个默认查找程序是AppDirectoriesFinder,它将查看您的每个应用程序的"/ static /"目录INSTALLED_APPS设置.
另一个默认查找器是FileSystemFinder,它将查看您在STATICFILES_DIRS设置中指定的目录.
顺便说一句,这两种搜索模式都与模板加载的工作方式类似.
运行collectstatic命令时将使用相同的技术,但它现在将从各个位置收集文件(使用与上面相同的查找器),将找到的文件放入STATIC_ROOT,准备部署.