【问题标题】:How to add samesite=None in the set_cookie function django?如何在 set_cookie 函数 django 中添加 samesite=None?
【发布时间】:2020-10-13 06:16:19
【问题描述】:

我想在set_cookie function 中添加samesite 属性为None

这是我调用set_cookie function的代码

redirect = HttpResponseRedirect( '/m/' )
redirect.set_cookie( 'access_token', access_token, max_age=60 * 60 )

这是我设置cookie的函数

def set_cookie(self, key, value='', max_age=None, expires=None, path='/',
               domain=None, secure=False, httponly=False):
    self.cookies[key] = value
    if expires is not None:
        if isinstance(expires, datetime.datetime):
            if timezone.is_aware(expires):
                expires = timezone.make_naive(expires, timezone.utc)
            delta = expires - expires.utcnow()
            delta = delta + datetime.timedelta(seconds=1)
            expires = None
            max_age = max(0, delta.days * 86400 + delta.seconds)
        else:
            self.cookies[key]['expires'] = expires
    else:
        self.cookies[key]['expires'] = ''
    if max_age is not None:
        self.cookies[key]['max-age'] = max_age
        # IE requires expires, so set it if hasn't been already.
        if not expires:
            self.cookies[key]['expires'] = cookie_date(time.time() +
                                                       max_age)
    if path is not None:
        self.cookies[key]['path'] = path
    if domain is not None:
        self.cookies[key]['domain'] = domain
    if secure:
        self.cookies[key]['secure'] = True
    if httponly:
        self.cookies[key]['httponly'] = True

【问题讨论】:

    标签: python django cookies django-views middleware


    【解决方案1】:

    如果您使用 django2.x 或更早版本,您可以使用此库更改标志:https://pypi.org/project/django-cookies-samesite/

    如果你使用的是 django3.x,它应该是内置的

    【讨论】:

      【解决方案2】:

      您可以在 HTTP 响应中使用 set_cookie('name', 'value')

      点赞return HttpResponse("hi").set_cookie('name', 'Aniket')

      【讨论】:

        猜你喜欢
        • 2020-07-04
        • 1970-01-01
        • 1970-01-01
        • 2020-09-01
        • 1970-01-01
        • 2021-07-22
        • 2020-05-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多