在Django中重定向时未设置Cookie

时间:2020-01-24 05:32:44

标签: python django

我正在尝试重定向到其他域,因此以下代码可以正确重定向,但是当我检查Cookie时,未在重定向的URL中设置Cookie。

可能是什么问题?我正在使用Django 1.8.17。

@permission_required('users.page_live', login_url='/admin/')
def users_view(request):
    try:
        user_list = UsersConfig.objects.get(meta_key="ALLOWED_USERS")
        user_list = [int(x) for x in user_list.meta_value.split(",")]
        sessionId = 0

        if request.user.id not in user_list:
            redirect_url = "http://mes.meta.in/admin"
            try:
                if settings.ENV == 'PROD':
                    
                    redirect_url = "https://data-frontend.production.us.mes.cloud/"
                else:
                    redirect_url = 'https://data-frontend.staging.us.me.s/'
                response = HttpResponseRedirect(redirect_url)
            except Exception as e:
                print e
                response = HttpResponseRedirect("/admin")
        else:
            redirect_url = "http://mes.meta.in/admin"
            try:
                if settings.ENV == 'PROD':
                    redirect_url = "https://data-frontend.production.us.mes.cloud/"
                else:
                    redirect_url = 'https://data-frontend.staging.us.me.s/'
                response = HttpResponseRedirect(redirect_url)
            except Exception as e:
                print e
                response = HttpResponseRedirect("/admin")

        max_age = 172800
        expires = datetime.strftime(datetime.utcnow() + timedelta(seconds=max_age), "%a, %d-%b-%Y %H:%M:%S GMT")
        if settings.ENV == 'PROD':
            response['Set-Cookie'] = 'mes_wr_session_id=' + sessionId + '; domain=mes.in; port=80; path=/'
        else:
            response.set_cookie(key="mes_wr_session_id", value=sessionId, max_age=max_age, expires=expires)

    except Exception as e:
        print e

    return response

0 个答案:

没有答案