Roc*_*och 5 python django django-views
我想知道我是否可以使用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)
Run Code Online (Sandbox Code Playgroud)
输出看起来像我期待的但我不得不用空字符串替换请求值.那很好还是有更好的方法吗?
http 响应包含标头以及 html 或其他任何内容,因此您不能像字符串一样将它们添加起来。
如果你想模块化你的视图函数,那么让子过程调用返回字符串,然后你可以按照你建议的方式来做
也许在您的情况下,最好将一个显示行的循环放入模板中,然后您将不需要子视图和主视图中的循环。
def listEventsSummary(request):
listEventsSummary = Event.objects.all().order_by('-id')[:20]
return render_to_response('stuff.html',{'events':listEventsSummary})
Run Code Online (Sandbox Code Playgroud)
并在 stuff.html 中
{% for event in events %}
<p>{{event.date}} and whatever else...</p>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1002 次 |
| 最近记录: |