gpt4 book ai didi

python - Django,在另一个 View 中显示一个 View ?

转载 作者:太空狗 更新时间:2023-10-30 01:17:41 25 4
gpt4 key购买 nike

我想知道我是否可以使用 django 在另一个 View 中显示一个 View 。

这是我尝试做的:

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)

输出看起来像我所期望的,但我不得不用空字符串替换请求值。这样好还是有更好的方法?

最佳答案

http 响应包含 header 以及 html 或其他任何内容,因此您不能像字符串一样将它们相加。

如果你想模块化你的 View 函数,然后让子过程调用返回字符串,然后你就可以按照你建议的方式去做

可能在您的情况下,将显示行的循环放入模板中会更好,这样您就不需要 subview 和主视图中的循环。

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 %}
<p>{{event.date}} and whatever else...</p>
{% endfor %}

关于python - Django,在另一个 View 中显示一个 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1814255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com