için "dosyaadı" iletme Bir kullanıcının yüklediği bir csv içindeki sütun adlarını temel alarak bir açılır kutuyu dinamik olarak doldurmaya çalışıyorum. Kullanıcı dosyayı yükledikten (değişken adı dosya adı) ve bir sonraki sayfaya yönlendirildikten sonra/analysis /, aslında açılan listeyi oluşturmak için dosya adını SimpleForm (form) sınıfına nasıl geçiririm? kod soru, açılır kutuyu dinamik olarak doldurur; SimpleForm() Sınıfı
form = SimpleForm(filename)
olduğu I (nesne) Sınıf SimpleForm doğrudan dosya adı geçemez biliyorum ama bunu nasıl yapacağım?
class MultiCheckboxField(SelectMultipleField):
widget = widgets.ListWidget(prefix_label=False)
option_widget = widgets.CheckboxInput()
class SimpleForm(Form):
list_of_files = ['Standard New/Renew/Upsell/Downsell/Churn Analysis', 'Top Ten Customer Accounts','Churn Analysis']
# create a list of value/description tuples
files = [(x, x) for x in list_of_files]
test = pd.read_csv(filename, index_col = None, nrows = 0, header=0)
second_list = list(test.columns)
second_files = [(x, x) for x in second_list]
acheckbox = MultiCheckboxField('Label', choices=files)
bcheckbox = MultiCheckboxField('Label', choices=second_files)
categories = SelectField('Label',choices = files)
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
file = request.files['file']
if file and allowed_file(file.filename):
filename = secure_filename(file.filename)
file.save(os.path.join(app.config['UPLOAD_FOLDER'],filename))
if columns_len(filename):
title = filename.split('.')[0].title() #creates the title
return redirect(url_for('analysis', filename=filename))
else:
flash(u'Your CSV has less than three columns. Please re-upload', 'error')
else:
flash(u'Invalid file type. Please re-upload', 'error')
return render_template('index.html')
@app.route('/analysis/<filename>', methods=['GET','POST'])
def analysis(filename):
form = SimpleForm(filename)
return render_template('analysis.html', filename=filename, form=form)
bir çekicilik gibi çalıştı .... Derslerde ve parametrelerle ilgili daha fazla okuma yapmam gerekiyor ... Kesinlikle buna daha çok bakmaya başladım .... teşekkürler milyon –