1

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

4

1 に答える 1