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)
添加回答
舉報