0

リダイレクトする前にDjango RedirectViewでCookieを設定するにはどうすればよいですか?

Cookie自体を設定する方法ではなく、どこでそれを行うことができるかが興味深いです。

4

2 に答える 2

3

RedirectView が django.views.generic.View から継承されているget場合、必要なメソッドをオーバーライドして、そこに Cookie 関連のものを配置できます。dispatch

たとえば、ディスパッチのオーバーライド

class Yourclass(RedirectView):

    def dispatch(self, request, *args, **kwargs):
        #youknow how to set cookie here
        return super(Yourclass, self).dispatch(request, *args, **kwargs)
于 2013-08-12T10:56:08.550 に答える
2

問題を解決しました。

 def get(self, request, *args, **kwargs):
    response = super(PartnerRedirectView, self).get(request, *args, **kwargs)
    max_age = 365 * 24 * 60 * 60  #one year
    expires = datetime.datetime.strftime(datetime.datetime.utcnow() + datetime.timedelta(seconds=max_age), "%a, %d-%b-%Y %H:%M:%S GMT")
    response.set_cookie(key, value, max_age=max_age, expires=expires)
    return response
于 2013-08-12T10:55:21.883 に答える