我正在与Flask,Pandas和React合作开展数据科学项目。我目前正在处理一个显示表单的React组件,然后在输入提交时将显示数据。除了显示数据外,一切都很有效。这是我的代码:
反应组件:
var Warwounded = React.createClass({
getInitialState(){
return {check: true}
},
change(){
this.setState({check: false})
},
renderForm(){
return (
<div className='numbersArea'>
<h3>Looking at the wounded</h3>
<p>Please enter a number and the data returned will be the wars
which have that number and higher</p>
<form method='POST' action='/index'>
<input name='number' type='NUMBER'/>
<input type='submit' onClick={this.change}/>
</form>
</div>
)
},
results(){
return(
<div>
<h1>Hello World</h1>
</div>
)
},
render: function(){
if(this.state.check){
return this.renderForm()
}else{
return this.results()
}
}
})
代码的Python方面:
#This function will bring the user to the index page.
@app.route('/index', methods=['GET', 'POST'])
def index():
#This line will ensure that the user is logged in.
if 'username' not in session:
return redirect(url_for('login'))
name = session['username']
if request.method == 'POST':
data = Data()
number_entered = int(request.form['number'])
wars = data.wounded(number_entered)
print(wars)
return render_template('index.html', title='Login Page', name = name)
我花了最后2个小时研究这个,我知道在大多数情况下我的代码的python方面都在工作。 (印刷(战争)线给了我我想要的东西。)此时,我相信我的问题更多在React方面,因为我刚刚开始使用它。我也知道提交表单时会调用以下行:
if request.method == 'POST':
它最终将呈现index.html文件&#39;重置&#39;一切。因此,我认为答案是React可能与我仍然不知道的函数/过程。感谢您提供的任何帮助!!