我試圖將我的註冊表單重定向到同一個表單後保存值也我想在重定向響應中返回一個字典。 但以下代碼無法正常工作。Django - 字典傳遞重定向沒有顯示在模板
urls.py
url(r'^signupform/$', views.render_signup, name='render_signup'),
url(r'^signup/$', views.sign_up_account_admin, name='sign_up_account_admin'),
views.py
def render_signup(request):
"""
"""
data_dict = {"some_keys":"some_values"}
return render(request, "admin.html", data_dict)
def sign_up_account_admin(request):
"""
"""
user = None
user, msg = save_form_data(request)
req_dict = {"msg": msg}
if user:
ret = redirect('homepage') #-- This works pretty fine
else:
ret = redirect('/signupform/', resp = req_dict) #-- This redirects but I don't get the `resp` Objects in the template
return ret
的Html Temlpate
<div class="container">
=={{resp}}
===>>>>>>>{{resp.msg}}
</div>
和輸出HTML
<div class="container">
==
===>>>>>>>
</div>
'redirect()'不會將其參數傳遞給模板。這就像你對指定的網址發出新的請求。如果需要,您可以在查詢參數或會話中傳遞數據。 –
@YaroslavAdmin - 我想,因爲我們可以通過在'reverse'方法中傳遞kwargs使用'HttpResponseredirect'來實現這一點。我們有這樣的其他選擇嗎? – Laxmikant
是的,如果你的url被定義爲'/ some-url/{id} /',那麼比'kwargs'傳遞給'reverse'會填充'{id}'部分。這些是完全不同的東西。 –