如何在Django中将变量调用到另一个函数中?

时间:2018-07-31 08:27:50

标签: django pandas

def upload(request):
if request.method == 'POST':
    form = DocumentForm(request.POST, request.FILES)
    if form.is_valid():
        file_p = form.save().document
        df = pd.read_csv(file_p, header=None) #parsing CSV file
        df.drop([0], axis=1, inplace=True)


        return render(request, 'Data/csv.html', {'df': df})


else:
    form = DocumentForm()
    return render(request, 'Data/upload.html', {'form': form}) 

这是一个功能。我需要在另一个函数中调用 df

def mean(request):
    df['Average_Income'] = df.mean(axis=1).astype(int)
    return render(request, 'Data/mean.html', {'df': df})

2 个答案:

答案 0 :(得分:0)

我建议使用会话变量,但是您的JS变量似乎是pandas libraby读取的csv文件。因此,在需要使用的每个视图中,我都将执行与您的第一个功能相同的操作df

df

或在文件顶部将df = pd.read_csv(file_p, header=None) #parsing CSV file df.drop([0], axis=1, inplace=True) 声明为全局变量

答案 1 :(得分:-1)

您可以将该数据存储在请求会话值中,而可以在其他函数中获取该值。

request.session['key'] = value # to set the value

value = request.session['key']  # get value in another function