У меня есть сетка 3 x 3, и я пытаюсь вернуть случайно выбранные изображения, отличные от данного каталога.
В настоящее время я получаю изображения в качестве выходных данных, но некоторые из них повторяются.
Всего в каталоге 10 изображений с цифровым названием.
Снимок экрана Токового выхода: Выход
Что я должен сделать, чтобы получить отдельные изображения в качестве моего вывода?
PS: я новичок в Django, поэтому любая помощь будет принята с благодарностью.
random_Image.py - Тег шаблона, возвращающий список выбранных изображений
@register.simple_tag
def random_image(image_dir):
valid_extensions = ['.jpg', '.jpeg', '.png', '.gif']
rand_dir = '/static/app_pickfeel/images/'
# print(rand_dir)
files = [f for f in os.listdir(settings.BASE_DIR + '/app_pickfeel/static/app_pickfeel/images')
if f[f.rfind("."):len(f)] in valid_extensions]
remove_duplicate = set(files)
final_list = list(remove_duplicate)
return rand_dir + random.choice(final_list)
random_Image.py: вывод для «файлов»
{'2.gif', '5.jpg', '6.jpg', '1.jpg', '9.jpg', '8.jpg', '4.jpg', '7.jpeg', '3.jpg'}
{'2.gif', '5.jpg', '6.jpg', '1.jpg', '9.jpg', '8.jpg', '4.jpg', '7.jpeg', '3.jpg'}
{'2.gif', '5.jpg', '6.jpg', '1.jpg', '9.jpg', '8.jpg', '4.jpg', '7.jpeg', '3.jpg'}
{'2.gif', '5.jpg', '6.jpg', '1.jpg', '9.jpg', '8.jpg', '4.jpg', '7.jpeg', '3.jpg'}
{'2.gif', '5.jpg', '6.jpg', '1.jpg', '9.jpg', '8.jpg', '4.jpg', '7.jpeg', '3.jpg'}
{'2.gif', '5.jpg', '6.jpg', '1.jpg', '9.jpg', '8.jpg', '4.jpg', '7.jpeg', '3.jpg'}
{'2.gif', '5.jpg', '6.jpg', '1.jpg', '9.jpg', '8.jpg', '4.jpg', '7.jpeg', '3.jpg'}
{'2.gif', '5.jpg', '6.jpg', '1.jpg', '9.jpg', '8.jpg', '4.jpg', '7.jpeg', '3.jpg'}
{'2.gif', '5.jpg', '6.jpg', '1.jpg', '9.jpg', '8.jpg', '4.jpg', '7.jpeg', '3.jpg'}
random_Image.py - вывод для «random.choice (final_list)» '
1.jpg
3.jpg
2.gif
6.jpg
9.jpg
9.jpg
7.jpeg
2.gif
8.jpg
8.jpg
1.jpg
7.jpeg
3.jpg
pickfeel. html - * Где используется тег шаблона (показано 1 строка, всего 3 строки)
<!--Row 1-->
<div class="row no-pad display-flex my-row">
<div class="col-xl-4 col-lg-4 col-md-4 col-sm-4 col- my-col-xl-4 col-xl-4 col-lg-4 col-md-4 col-sm-4 col-4 my-col-lg-4 col-xl-4 col-lg-4 col-md-4 col-sm-4 col- my-col-md-4 col-xl-4 col-lg-4 col-md-4 col-sm-4 col- my-col-sm-4 col-xl-4 col-lg-4 col-md-4 col-sm-4 col- my-col- my-col-xl-4 col-lg-4 col-md-4 col-sm-4 col- my-col">
<img class="img-thumbnail" src="{{ MEDIA_URL}}{% random_image 'app_pickfeel/images/' %}">
</div>
<div class="col-xl-4 col-lg-4 col-md-4 col-sm-4 col- my-col my-col-xl-4 col-lg-4 col-md-4 col-sm-4 col-4 my-col">
<img class="img-thumbnail" src="{{ MEDIA_URL}}{% random_image 'app_pickfeel/images/' %}">
</div>
<div class="col-xl-4 col-lg-4 col-md-4 col-sm-4 col- my-col my-col-xl-4 col-lg-4 col-md-4 col-sm-4 col-4 my-col">
<img class="img-thumbnail" src="{{ MEDIA_URL}}{% random_image 'app_pickfeel/images/' %}">
</div>
</div>
* 105 2 *
views.py def pickfeelhome(request):
context = {}
return render(request, 'app_pickfeel/pickfeel.html', context)