前端之家收集整理的这篇文章主要介绍了
python – Django,在另一个视图中显示视图?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道我是否可以使用django在另一个视图中显示视图.
这就是我试图做的事情:
def displayRow(request,row_id):
row = Event.objects.get(pk=row_id)
return render_to_response('row.html',{'row': row})
def listEventsSummary(request):
listEventsSummary = Event.objects.all().order_by('-id')[:20]
response = ''
for event in listEventsSummary:
response += str(displayRow('',event.id))
return HttpResponse(response)
输出看起来像我期待的但我不得不用空字符串替换请求值.那很好还是有更好的方法吗?
@H_
404_13@最佳答案
http响应包含
标题以及html或其他任何
内容,因此您不能像字符串一样
添加它们.
如果你想模块化你的视图函数,然后让子过程调用返回字符串然后你可以按你提出的方式做
可能在你的情况下,最好将一个显示行的循环放入模板中,然后在主视图中不需要子视图和循环.
def listEventsSummary(request):
listEventsSummary = Event.objects.all().order_by('-id')[:20]
return render_to_response('stuff.html',{'events':listEventsSummary})
并在stuff.html
{% for event in events %}