1
我讀過,成功處理髮布數據後,您應該使用HttpResponseRedirect重定向到另一個頁面。我建設學習目的的網址縮短服務,從views.py的代碼如下所示:(不工作)Django - 無法在HttpResponseRedirect中傳遞參數
def makeurl(request):
# get url from form
post_url = request.POST['url']
# shorten the url and have the short code returned
shortened_url = shorten_url(post_url)
return HttpResponseRedirect('create')
def create(request):
return render(request, 'shorturl/create.html',
{'shortened_url': shortened_url})
當我的表單提交縮短輸入URL,「makeurl」叫,其中縮短的URL將被計算並返回(shortened_utl)。然後我會調用'create',它將呈現'shortened_url需要向用戶顯示的頁面。
問題是,如果我要使用HttpResponseRedirect,我沒有辦法將'shortened_url'變量傳遞給我的'create'視圖來呈現。任何人都可以用這個建議我嗎?進出口新的Django的,歡呼聲
所以我真的不希望縮短的URL在URL中可見,是你的解決方案的情況?歡呼聲 – 2014-10-04 22:41:19
是的。如果您不希望它可見,則可以將其暫時存儲在會話中。我已經添加了第三個示例。 – Brandon 2014-10-04 22:48:10
啊我看到了,我還沒有看看會議。它們是在頁面之間傳遞數據的正確/可接受的方式嗎?謝謝 – 2014-10-04 22:52:34