之前得到的頁面URL我有一個鏈接到一個URL,像這樣的鏈接:的Python/Django的 - 如何導航到一個新的觀點
該鏈接指向一個新的觀點在Django,我的URL模式是這樣的:
url(r'^sign-in/', sign_in, name="sign_in")
在我sign_in
的看法,我想有機會到用戶最初點擊鏈接的URL。具體來說,我想添加這個URL有一個名爲returnUrl
的參數到一個新的URL。我的sign_in
視圖然後可以重定向到這個新的URL,並且相應的視圖將有權訪問returnUrl
參數。
例如:
- 用戶點擊 '登錄'
- 網站導航到example.com/sign-in/
- 的
sign_in
視圖重定向到sign_in_page
從步驟1加入URL作爲參數。 sign_in_page
有權訪問URL參數。
我該如何在Django中實現這個功能?我的看法是這樣的......
from django.http import HttpResponse
from django.shortcuts import render, redirect
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect
from django.core.urlresolvers import resolve
def sign_in(request):
# I need the original URL the user came from here
# to add it as `returnUrl` below:
return HttpResponseRedirect(reverse('sign_in_page') + '?returnUrl=example.com/whatever')
def sign_in_page(request):
return render(request, 'sign-in.html')
請讓我知道如果我通過使用重定向下去一個錯誤的和黑暗的路。對我來說,它似乎是添加URL參數的唯一方式 - 這對我的實現很重要。如果你知道沒有重定向的方法 - 讓我知道!
你能告訴一下參數嗎?意味着你如何保持它?並且整個頁面的參數是不同的? – Exprator
當用戶點擊「登錄」鏈接時,名爲'returnUrl'的參數需要是當前的URL。登錄過程完成後,我可以在我的'sign_in_page'視圖中使用此功能將用戶重定向到他們點擊鏈接的原始頁面。 – shrewdbeans