[英]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.