我在DEBUG模式下使用Django的内置Web服务器.
这是我的一部分settings.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',
)
Run Code Online (Sandbox Code Playgroud)
如果我访问http://localhost:8000/static/png/,我希望看到可用的文件列表/abs/path/to/static/dir/png.相反,我收到404错误"此处不允许使用目录索引."
现在,如果我直接访问文件,例如http://localhost:8000/static/png/test.png,它可以工作.
我已经检查了一些答案(这里)没有成功.
那么,有没有人知道如何配置Django使staticfiles应用程序列出目录内容?
只是为了完整性,因为它可以帮助其他人,这就是我为解决问题所做的.
按照@Hedde的回答,我去了show_indexes:
STATIC*变量)'django.contrib.staticfiles'从INSTALLED_APPS问题是我无法show_indexes使用Django的"内置"方法为静态文件配置(via settings.py)指定参数.通过'django.contrib.staticfiles'进入INSTALLED_APPS,Django将创建静态文件处理程序show_indexes = False,忽略我的urlpatterns.
在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})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7232 次 |
| 最近记录: |