[英]Django context processor to show images
如何为我的images_people
列表中的每个图像添加标题?
可以在级别实践意义上改进context_processor吗?
我想在网页中显示随机图像,然后制作一个上下文处理器
内容:
(以前在我的context_processors
设置中添加了...):
# -*- coding: utf-8 -*-
from random import choice
images_people = ['https://s3-sa-east-1.amazonaws.com/ihost-project/assets/img/bolivia2.jpg','2',
'https://s3-sa-east-1.amazonaws.com/ihost-project/assets/img/bolivia3.jpg',
'https://s3-sa-east-1.amazonaws.com/ihost-project/assets/img/bolivia4.jpg',
'https://s3-sa-east-1.amazonaws.com/ihost-project/assets/img/bolivia-children.jpg',
'https://s3-sa-east-1.amazonaws.com/ihost-project/assets/img/ElZocalo.jpg',
'https://s3-sa-east-1.amazonaws.com/ihost-project/assets/img/israel.jpg',
]
def images(request):
return {'images': choice(images_people)}
在我的模板中,我正在调用此context_processor:
<div class="portrait">
<div class="img-cont" style="background: url('{{ images }}') no-repeat center; background-size:cover;">
</div>
# Add caption to image
<!-- <span></span> -->
</div>
您可以将上下文处理器中的列表更改为2元组(网址,标题)的列表。
images_people = [
('https://s3-sa-east-1.amazonaws.com/ihost-project/assets/img/bolivia2.jpg', 'Caption 1'),
('https://s3-sa-east-1.amazonaws.com/ihost-project/assets/img/bolivia3.jpg', 'Caption 2),
...
]
def images(request):
# n.b changed from `images` to `image` since it's a single image
return {'image': choice(images_people)}
然后在您的模板中, {{ images.0 }}
将成为URL, {{ images.1 }}
将成为标题。
如果您不喜欢按索引访问元组,则可以查看NamedTuple
或创建一个类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.