3 回答
TA贡献1951条经验 获得超3个赞
据我所知,这样做的方法是将上面的代码复制到主视图函数,或者提取一个获取请求并返回所需表单对象的方法。无论哪种方式,您都可以像在订阅页面上一样将表单对象传递给主页模板。
TA贡献1853条经验 获得超18个赞
如果您想将相同的表单呈现到另一个页面(视图),您可以将该表单添加到视图的上下文中,就像在订阅页面上所做的那样。主页视图如下所示:
def home_page_view(request):
if request.method == 'POST':
subscribe_form = EmailListForm(request.POST)
if subscribe_form.is_valid():
subscribe_form = subscribe_form.save()
return render(request, 'accounts/subscribe_done.html', {'name': subscribe_form.name})
else:
context = {
'section': 'home',
'posts': Post.published.all().order_by('-publish')[:5],
'subscribe_form': EmailListForm()
}
return render(request, 'pages/page/home.html', context=context)
添加回答
举报