因此,我有一个views.py,其中包含以下代码,适用于该问题。
def check(request):
data = []
if request.method == 'POST':
prompt = request.POST['pathway']
youtube = request.POST.get('youtube')
udemy = request.POST.get('udemy')
# Uses the user's prompt to generate the roadmap
data = scrapeSite(prompt)
looprange = range(len(data))
if youtube == "youtubego":
ytid, yttitle,ytthumbnail = searchyt(prompt, data)
context = {
'ytid': ytid,
'yttitle': yttitle,
'loopnum': looprange,
'ytthumbnail': ytthumbnail,
}
return render(request, 'generate.html', context)
字符串
基本上,它可以获取可变数量的YouTube视频的缩略图、标题和id。它们都存储在不同的数组中。其中的每一个都被分配给上下文字典中的一个值,然后该值被发送到如下所示的模板generate.html
{% extends 'main.html'%}
{% block title %}CourseCounduit || A University In Your Pocket{% endblock title%}
{% block content %}
<h1>Your roadmap for</h1>
<div id="Course-container">
{%for i in loopnum %}
<div>
<img src="{{ytthumbnail.i}}" alt="" sizes="100px"
srcset="100px">
<h5>{{yttitle.i}}</h5>
</div>
{%endfor%}
</div>
{% endblock %}
型
因此,我所期望的主要结果是,div“Course Container”被复制到views.py中指定的loopnum的量,并且对于每次迭代,IMG标签将显示数组Ytthumbnail的第i个URL,并且对于H5标签显示YtTitle数组中的第i个标题。
目前正在创建div,但内容未显示。我已经确认阵列正在填充。
我希望divs复制到loopnum和在每个divs的缩略图和标题显示。先谢了。
1条答案
按热度按时间g9icjywg1#
尝试在视图中使用
zip(ytthumbnail, yttitle)
并使用index进行迭代。比如
在视图中:
字符串
在.html文件中
型
要使用
{{ yttitle|index:forloop.counter0 }}
语法,您需要注册一个自定义的index
过滤器,以方便数组的索引,如here所示