我有这个模板,以标准的博客格式输出对象(瑜伽位置)。
用户可以通过不同的形式将新的瑜伽位置上传到网站,并且所有工作都很简单,但是......
在模板中,我现在为每个“帖子”中生成的每个对象添加了一个复选框,并且想法是用户应该能够在闲暇时选择各种帖子(没有人想要做2,396个抱怨我开始意识到...)然后点击一个提交按钮,然后重定向到一个新页面,其中现在过滤掉的帖子将显示在带有计时器的js驱动的“影片剪辑”中。
目标是创建一个个人瑜伽/运动应用程序。
模板看起来像这样:
{% for res in results %}
<h2 align="center">
{{ res.name }}
</h2>
<div class="" align="center">
<img src="/media/{{ res.image }}" alt="" style="width:100%; border-radius:6px;">
</div>
<h4 style="margin-left:30px; margin-bottom:0px; margin-top:12px;">
What it does:
</h4>
<p style="margin-left:30px; margin-top:0px;">
{{ res.description }}
</p>
<h4 style="margin-left:30px; margin-bottom:0px;">
How to do it:
</h4>
<p style="margin-left:30px; margin-top:0px;">
{{ res.instruction }}
</p>
<label class="switch">
<input type="checkbox">
<span class="slider round"></span>
</label>
{% endfor %}
<a href="{% url 'yoga:playhead' %}" class="btn btn-secondary ml-2 mt-2 mr-2 mb-2">GO!</a>
在我的观点中,我设法将这些小家伙组合在一起,前者提供主要列表,后者(希望有一天)输出过滤后的列表:
def start_up(request):
results = YogaModel.objects.all()
# data = serializers.serialize("json", results, fields=('name', 'image', 'audiofile'))
if request.method == 'POST':
form = YogaForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('/yoga/')
else:
form = YogaForm()
return render(request, 'yoga/start.html', {'results': results, 'yoga_stuff':form})
def playhead(request):
qs = YogaModel.objects.all()
data = serializers.serialize("json", qs, fields=('name', 'image', 'audiofile'))
print('\n{}\n\n{}\n'.format(qs, data))
context = {
'data':data,
'position':qs
}
return render(request, 'yoga/doyoga.html', context)
我一直在考虑如何解决从这个模板中将某些内容发送回第二个视图的问题,但是每当我试图想象我应该怎么做时,我的思绪就会留下空白,随后对主题的研究引出我到各种各样的死路一条。
对于我既不编码也不编码术语,我可能并不是真的有帮助。
我应该提一下,根据我在这方面的经验,我的工作实例或根本没有学习,我的编码工作时间很短,所以请:温柔的,因为你把你的智慧卸给我:)
从HTTP,POST数据无法重定向。看到这个答案:https://softwareengineering.stackexchange.com/questions/99894/why-doesnt-http-have-post-redirect
你应该使用sessions。