无法获取存储在Python Django请求会话中的值

时间:2019-01-10 09:55:51

标签: python rest session django-rest-framework

Hellos朋友,

我在Python Django应用程序中具有REST服务。我试图在成功登录服务调用后的请求会话中存储一些值。

类似于以下内容

request.session['valid']=True

,然后我就可以检查值是否设置正确。

在下一个请求中,当我尝试检索该值时,找不到我已存储的任何键。

以下是用于检索密钥的代码

 if 'valid' not in request.session:
    print('Invalid request. . .')
    return False
 elif request.session['valid']==True:
    username=request.session['username']
    print('Request validated. . .')
    return True

我有在React上运行的前端应用程序,在DRF上有后端REST。在以下代码上完成登录后,

@csrf_exempt
@api_view(['POST'])
def login_details(request):

    if request.method == 'POST':
        headers = {
            'Content-type': 'application/json',
          }


            # Assuming at this point login is successful, so I am setting the session
            request.session['username']=TF_VAR_user_name
            request=initSession(request)

            data = txt

            response = requests.post('https://hooks.slack.com/services/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', headers=headers, data=data)
            print(response)
            return Response(data_json)

        except cx_Oracle.DatabaseError as exc:
            error, = exc.args
            m = error.message
            err="Oracle-Error-Message: "+ str(error.code) + " Oracle-Error-Message: "+error.message
            dic2={"Oracle-Error-Code":str(error.code),"Oracle-Error-Message":error.message}
            print(dic2)
            m=json.dumps(dic2)
            n=json.loads(m)
            txt="{'text':'User "+atp_userid+" Oracle-Error-Message: "+error.message+"'}"
            data = txt
            response = requests.post('https://hooks.slack.com/services/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', headers=headers, data=data)
            return Response(n)

    else:
        return Response({ "message":"Unauthoried, please login."},status=status.HTTP_401_UNAUTHORIZED)

我正在尝试通过以下代码读取存储的值,

@csrf_exempt
@api_view(['POST'])
def dashboard(request):
        if 'valid' not in request.session:
        print('Invalid request. . .')
     elif request.session['valid']==True:
        username=request.session['username']
        print('Request validated. . .')

请帮助我如何在会话中存储值并在后续请求中进行检索。很抱歉给我带来麻烦,因为我是Python和Django的新手。

0 个答案:

没有答案