在函数(而非模板)Django 2中引用静态文件

时间:2018-11-06 08:43:06

标签: python-3.6 django-2.1

例如,我想使用main/home.html创建要发送到我的context模板的静态文件路径的列表,如下所示:

from django.conf.urls.static import static

def home(request):
        image_dir = static('/images/category1/live')
        image_names = os.listdir(image_dir)
        image_list = [f'{image_dir}/{n}' for n in image_names]

        context = {
            'image_list': image_list
        }

        return render(request, 'main/home.html', context)

我的设置文件包含:

STATICFILES_DIRS = [os.path.join(BASE_DIR, 'main/static/')]
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'

我已经尝试了许多语法变体,包括受this相关问题启发的那些变体-都产生各种错误。当我对地址进行硬编码时,我的页面效果很好-只是无法使static正常工作。顺便说一句-我知道我可以使用javascript来避免这种情况,但是我想将其(以及其他静态函数)保留在Python中。任何帮助表示赞赏。

0 个答案:

没有答案