列出Django中的所有静态资产

时间:2016-11-15 11:18:15

标签: python django

有没有办法列出视图中的所有静态资源。一种方法是使用绝对路径,但有一种Django方式吗?我尝试使用的另一种方式是request.build_absolute_uri(),但os.listdir()无法打开它,因为它是一个网址。

有什么建议吗?

更新

我通过S3提供文件。

1 个答案:

答案 0 :(得分:2)

您可以在设置中使用STATICFILES_DIRS

from django.conf import settings

for folder in settings.STATICFILES_DIRS:
    # do whatever you want here

但只有在使用runserver时才会有效。如果您使用collectstatic和您的Web服务器来提供静态文件,您应该使用:

from django.conf import settings

for root, dirs, files in os.walk(settings.STATIC_ROOT):
    # do whatever you want here