Django に次のコードがあります。
def signup(request)
http_referer = request.META.get('HTTP_REFERER','/')
if request.user.is_authenticated():
return HttpResponseRedirect(reverse('index'))
else:
if request.method == 'GET':
# return HttpResponse(http_referer) Here it returns the right value
args={}
return render(request,'signup.html',args)
elif request.method =='POST':
# return HttpResponse(http_referer) Here it breaks and returns current url
... actual code goes here, but this should be enough
HTTP_REFERER
変更中なので、後で使用するために保存したい。変数に格納しようとしましたが、どういうわけか変数はまだ自動的に変更されます。データベースに一時的に保存することもできると思いますが(おそらく変更されないでしょう)、その関数でのみ必要であり、二度と必要ないため、それは悪い解決策のようです。これを行うより良い方法はありますか?
編集
さて、以下のユーザーが提案したように、セッションへのリクエストでのみ保存するのではなく、http_referer
すべてのリクエストで保存していたことに気付いたので(POST
自動変更してその変更を保存します)、かなり愚かな気分になりました:)。GET