対応する列を選択してcsvファイルをMysqlにアップロードしようとしましたが、問題がルートを変更するとファイルが閉じられます。 私は2つのテンプレートを同じルートにレンダリングしようとしました。最初にファイルをロードし、2番目のテンプレートを列を選択するようにしました。私は最初のテンプレートだけにアクセスできます。 私は(env.is_submittedと第二のフォームをテストしてい)が、私はそれがフラスコは異なるファイルで2つのフォームをレンダリングしますが、最初のフォームしか取得できません
{% block body %}
<form name = "mapping" method="POST" enctype="multipart/form-data" >
{{ env.hidden_tag() }}
<table>
{% for csv in columnscsv %}
<tr> <td> {{ csv }}</td>
<td><select name = "{{ csv }}" >
<option >year </option>
<option >month</option>
<option >day</option>
<option>reference</option>
<option>designation</option>
</select></td>
</tr>
{% endfor %}
</table>
<input type="submit" value="Submit" name = "submit" >
</form>
{% endblock %}
form.html
@app.route('/upload', methods=['GET', 'POST'])
def upload():
form = UploadForm()
global columnscsv, salessource
if form.validate_on_submit():
try:
filename = secure_filename(form.csv.data.filename)
file = form.csv.data
if file and allowed_file(filename):
print 'file_path'
salessource = CSVSource(file, delimiter=',')
columnscsv = salessource.fieldnames
print columnscsv
finally:
return render(salessource)
return render_template('upload.html', form=form)
def render(salessource):
env = envForm()
if env.is_submitted():
print "submitted"
return render_template('form.html',columnscsv = columnscsv ,env =env)
upload.html
<html>
<head>
<title>Upload</title>
</head>
<body>
<form method="post" enctype="multipart/form-data" >
{{ form.hidden_tag() }}
{{ form.csv }}
<input type="submit">
</form></body>
</html>
"を提出した" 印刷し提出しておりません場合でも、
ありがとうございますが、私はまだそれを得ることはできませんform.htmlのフォームにアクセスするにはどうすればいいですか – nourelhouda
'アクセス'の詳細について教えてください –
私はテンプレートを 'form.hml'フォームのタグにアクセスします。さて、私は他の解決策を見つけました。ファイルをローカルにアップロードして再利用します。ありがとうございました – nourelhouda