如何让 iexfianace 股票从表单数据中获取输入?
How to make iexfianace stock take an input from a form data?
我正在尝试从 iexfianance 获取股票价格。当我尝试 运行 时,我得到 ValueError: Please input a symbol or list of symbols
。如何让 s=Stock()
从表单中获取输入?我试图将输入更改为字符串,但它已经是一个字符串,但没有用。请帮忙!!
class InvestmentForm(Form):
stockSymbol = StringField('Stock Symbol', validators=[InputRequired(), Length(min=2, max=5 ,message='Please Enter Correct
symbol')])
allotment = FloatField('Allotment', validators=[InputRequired()])
finalSharePrice = FloatField('Final Share Price', validators=[InputRequired()])
sellCommision = FloatField('Sell Commision',validators=[InputRequired()])
initialSharePrice = FloatField('Initial Share Price', validators=[InputRequired()])
buyCommission = FloatField('Buy Commission', validators=[InputRequired()])
@app.route("/",methods=['GET','POST'])
def index():
form = InvestmentForm()
userInput = form.stockSymbol.data
s = Stock(userInput)
print(s.get_price())
return render_template('home.html',form=form)
我认为错误的原因是当用户输入不可用时,您尝试在 GET
请求中提取 form.stockSymbol.data
。尝试更改您的代码,以便区分 GET
和 POST
,如下所示:
from flask import request
@app.route("/",methods=['GET','POST'])
def index():
form=investmentform()
if request.method == 'POST':
userInput = form.stockSymbol.data
s = Stock(userInput)
print(s.get_price())
return render_template('home.html',form=form)
您必须提交表单输入数据,在您的InvestmentForm
中添加一个submit = SubmitField()
。确保在 form = InvestmentForm(request.form)
中传递 request.form
或仅使用 Flask-WTF.
class InvestmentForm(Form):
submit = SubmitField()
@app.route("/", methods=['GET', 'POST'])
def index():
form = InvestmentForm(request.form)
if request.method == 'POST' and form.validate():
user_input = form.stockSymbol.data
s = Stock(user_input)
print(s.get_price())
return render_template('home.html', form=form)
我正在尝试从 iexfianance 获取股票价格。当我尝试 运行 时,我得到 ValueError: Please input a symbol or list of symbols
。如何让 s=Stock()
从表单中获取输入?我试图将输入更改为字符串,但它已经是一个字符串,但没有用。请帮忙!!
class InvestmentForm(Form):
stockSymbol = StringField('Stock Symbol', validators=[InputRequired(), Length(min=2, max=5 ,message='Please Enter Correct
symbol')])
allotment = FloatField('Allotment', validators=[InputRequired()])
finalSharePrice = FloatField('Final Share Price', validators=[InputRequired()])
sellCommision = FloatField('Sell Commision',validators=[InputRequired()])
initialSharePrice = FloatField('Initial Share Price', validators=[InputRequired()])
buyCommission = FloatField('Buy Commission', validators=[InputRequired()])
@app.route("/",methods=['GET','POST'])
def index():
form = InvestmentForm()
userInput = form.stockSymbol.data
s = Stock(userInput)
print(s.get_price())
return render_template('home.html',form=form)
我认为错误的原因是当用户输入不可用时,您尝试在 GET
请求中提取 form.stockSymbol.data
。尝试更改您的代码,以便区分 GET
和 POST
,如下所示:
from flask import request
@app.route("/",methods=['GET','POST'])
def index():
form=investmentform()
if request.method == 'POST':
userInput = form.stockSymbol.data
s = Stock(userInput)
print(s.get_price())
return render_template('home.html',form=form)
您必须提交表单输入数据,在您的InvestmentForm
中添加一个submit = SubmitField()
。确保在 form = InvestmentForm(request.form)
中传递 request.form
或仅使用 Flask-WTF.
class InvestmentForm(Form):
submit = SubmitField()
@app.route("/", methods=['GET', 'POST'])
def index():
form = InvestmentForm(request.form)
if request.method == 'POST' and form.validate():
user_input = form.stockSymbol.data
s = Stock(user_input)
print(s.get_price())
return render_template('home.html', form=form)