我有一个flask应用程序,它将读取一些数据帧并在前端显示一些输出。我有两个routes
。一个将接受user input
并发送到第二条路由。第二条路线利用此输入并处理一些dataframe
并提供一些输出。问题是,如果再次转到用户输入页面,并且如果我尝试提交另一个input
,则会出现page not working
错误。
是因为内存问题吗?如果重新启动服务器,则重复一次(每次需要重新启动时)。
from flask import flash, redirect, render_template, url_for, request, jsonify
import math
import os
import glob
import pandas as pd
from . import fa
from database import connection
UPLOAD_DIRECTORY = './uploads'
if not os.path.exists(UPLOAD_DIRECTORY):
os.makedirs(UPLOAD_DIRECTORY)
@fa.route('/fc', methods=['GET', 'POST'])
def index():
return render_template('fc.html',flag=0)
@fa.route('/fc/s', methods=['GET', 'POST'])
def start():
if request.method == 'POST':
material_number = request.form['ma']
path = UPLOAD_DIRECTORY
extension = 'xlsx'
os.chdir(path)
result = [i for i in glob.glob('*.{}'.format(extension))]
allFiles = result
frame = pd.DataFrame()
list_ = []
for file_ in allFiles:
df = pd.read_excel(file_)
list_.append(df)
frame = pd.concat(list_)
frame = frame.reset_index(drop=True)
df1 = frame[frame['Ma'].str.contains(ma,regex=True)]
pr = df1['Pr'].unique().tolist()
pro = pd.read_excel(r'~pathhiddn~\dtrvsproj.xlsx')
return render_template('fc.html',flag=1,ma=ma,prs=pr)
return redirect(url_for('fa.index'))
答案 0 :(得分:0)
os.chdir(path)
这是导致问题的原因。我将其删除,并将df = pd.read_excel(file_)
替换为df = pd.read_excel('./uploads/data/'+file_)