如何配置Django';s";“静态文件”;要列出目录内容的应用程序?
我正在调试模式下使用Django的内置web服务器 这是我的如何配置Django';s";“静态文件”;要列出目录内容的应用程序?,django,django-1.5,Django,Django 1.5,我正在调试模式下使用Django的内置web服务器 这是我的设置的一部分。py: STATIC_ROOT = '/home/user/static_root' STATIC_URL = '/static/' STATICFILES_DIRS = ( '/abs/path/to/static/dir', ) STATICFILES_FINDERS = ( 'django.contrib.staticfiles.finders.FileSystemFinder', 'djan
设置的一部分。py
:
STATIC_ROOT = '/home/user/static_root'
STATIC_URL = '/static/'
STATICFILES_DIRS = (
'/abs/path/to/static/dir',
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
如果我访问http://localhost:8000/static/png/
,我希望在/abs/path/to/static/dir/png
中看到可用的文件列表。相反,我得到了一个404错误“这里不允许使用目录索引”
现在如果我直接访问文件,例如http://localhost:8000/static/png/test.png
,它可以工作
我已经检查了一些答案()但没有成功
那么,是否有人知道如何配置Django,以便
静态文件
应用程序列出目录内容?这些文件不是Django提供的。Show index是apache/nginx的一个配置参数
在生产中,使用nginx,只需添加到静态服务部分:
location ^~ /static/ {
autoindex on;
root /var/www/static_dir;
if ($query_string) {
expires max;
}
}
对于dev环境,Hedde的答案确实是一个很好的答案,但是显示可能与HTTP服务器提供的不完全相同。不要依赖它的外观和感觉
'show_indexes': True
根据
只是为了完整性,因为它可能会帮助其他人,这就是我为解决问题所做的 按照@Hedde的回答,我开始使用
show\u索引
:
设置.py
- 保持所有配置相同(即所有
静态变量)
- 从
已安装的应用程序中删除
'django.contrib.staticfiles'
settings.py
)指定show\u index
参数。通过在安装的应用程序中安装'django.contrib.staticfiles'
,django将创建带有show\u index=False
的静态文件处理程序,忽略我的urlpatterns
url.py
在urlpatterns中添加了以下内容:
url(regex = r'^%s(?P<path>.*)$' % settings.STATIC_URL[1:],
view = 'django.views.static.serve',
kwargs = {'document_root': '/abs/path/to/static/dir',
'show_indexes' : True})
url(regex=r'^%s(?P.*)$'%settings.STATIC\u url[1:],
视图='django.views.static.service',
kwargs={'document_root':'/abs/path/to/static/dir',
“显示索引”:True})
@ArnarYngvason是的,但它仍然有效,这意味着我应该在urlpatterns
(在urls.py
)中为它显式添加一个条目?我会尝试一下,但考虑到所有的静态*
配置都是在设置中完成的。py
事实上django不提供此服务,因为在正常使用中,apache或nginx会提供此服务。。。在开发中启用功能比在prod.2.2链接中禁用功能更干净
url(regex = r'^%s(?P<path>.*)$' % settings.STATIC_URL[1:],
view = 'django.views.static.serve',
kwargs = {'document_root': '/abs/path/to/static/dir',
'show_indexes' : True})