Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django会话密钥错误,如何保存从angular到Django的http跨源请求之间的Django会话状态_Python_Django_Angular - Fatal编程技术网

Python Django会话密钥错误,如何保存从angular到Django的http跨源请求之间的Django会话状态

Python Django会话密钥错误,如何保存从angular到Django的http跨源请求之间的Django会话状态,python,django,angular,Python,Django,Angular,我有一个angular前端应用程序,它将文件发送到django后端,数据正在django会话中设置。在我向django后端发送httprequest以对该数据进行ML处理并获得结果之后。但我有一个500个严重错误:keyerror'ts\u dataset\u copy:keyerror'ts\u dataset\u copy' [24/Feb/2020 18:43:46]“GET/cv_classification/5/FOTS/283/None/0/0 HTTP/1.1”500 78264。

我有一个angular前端应用程序,它将文件发送到django后端,数据正在django会话中设置。在我向django后端发送httprequest以对该数据进行ML处理并获得结果之后。但我有一个500个严重错误:keyerror'ts\u dataset\u copy:keyerror'ts\u dataset\u copy' [24/Feb/2020 18:43:46]“GET/cv_classification/5/FOTS/283/None/0/0 HTTP/1.1”500 78264。以下是我的django代码:

@csrf_exempt
def upload_local_dataset(request):
    if request.method == 'POST':
        dataset = pd.read_csv(request.FILES.get('datasetfilepath'), header=None, index_col=None)
        request.session['ts_datset'] = dataset.to_json(orient='values')
        request.session['ts_dataset_copy'] = dataset.to_json(orient='values')
        print("In upload_local_dataset Session's keys : ", request.session.keys())

        return HttpResponse(dataset.to_json(orient='values'))
引发服务器内部错误的第二个httrequest 问题是,当我将第二个http Cross原点从angular应用程序发送到django应用程序时,之前存储的会话元素不再存在。(我检查了upload_local_数据集中的会话密钥,并在upload_local_数据集中的会话密钥:dict_密钥(['ts_dataset','ts_dataset_copy'])中接收到但在第二个视图中,我在cv_分类会话的密钥:dict_密钥([])中接收到一个空的dict因此熊猫的read_json抛出一个错误ValueError:无效的文件路径或缓冲区对象类型:

如何保存从angular应用到django应用的两个http交叉源之间的会话状态?
感谢您的帮助!

您必须处理密钥尚未出现在会话中的情况。当我调用第二个view方法时,该密钥已由第一个方法upload_local_dataset()创建,显然这正是您的期望。
def cv_classification(request, kfolds, dissimilarity_func, windows_length=0, noisy_law="", mu=0, 
    std=0):
        noisy_law = noisy_law.lower()
        print("In cv_classification Session's keys : ", request.session.keys())
        df = pd.read_json(request.get('ts_dataset_copy'), orient='values')
        predictions = cv_classify(df, kfolds, dissimilarity_func, windows_length, noisy_law, mu, std)
        return JsonResponse(predictions, safe=False)