2017-12-03 213 views
0

使用烧瓶和WT的形式我想获取用户输入的形式和重定向用户输入到另一个路线,那里使用输入功能,这将获得一些数据字典。使用HTML后的HTML文件

我想要这种数据在WT形式中使用。一旦我看到数据并检查一切正常。我想将它保存为数据库的新条目。

问题:折出表单后,我无法处理为发布请求。

@app.route('/', method =[POST,GET]) 
def home(): 
    forms = inputForms(request.form) 
    if form_validate() and request.POST: 
     value=forms.input.data 
     redirect(url_for(/edit, value=value) 
    return render_template('input.html') -- Initial page where getting user input 
    @app.route('/edit', method =[POST,GET]) 
    def edit(value): 
     data= getdata(value) 
     if data == 'error': 
      return render_template('error.html') 
     else: 
      form=request.form(data=data) 
      return render_template('data.html', form=form 
      if form_validate() and request.POST: 
       save() 

我想看到的,一旦使我如何使用它提交表单。

我能够拿到形式,但一旦回到我不能够在基于您的评论保存选项

+0

如果通过'redirect'得到了你的'edit' FUNC,我不认为它仍然是一个'POST'等等'如果request.POST'失败。 – senaps

+0

感谢您的回应你可以建议一些其他的方式,我是新的python以及编码 – Rajesh

回答

0

向前移动,你可以改变你的职位采取行动。所以你的表单是POST编辑到另一条路线。

<form method="POST" action="{{url_for('edit')}}"> 
{{ form.csrf_token }} 
{{ form.name.label }} {{ form.name(size=20) }} 
<input type="submit" value="Go"> 

使用上述在你的模板,那么你可以将你的功能进行验证该route

@app.route('/edit', method =[POST,GET]) 
def edit(): 
    if request.method == 'POST' and form.validate(): 
     pass 

这种方式,您可以处理edit路线内的一切。 然后你的home路由可以改变为只是渲染表单。

@app.route('/', method =[POST,GET]) 
def home(): 
    forms = inputForms(request.form) 
    return render_template('input.html') 

,你应该有你的routes一个trailing slash。所以最好让你的路线为:

@app.route('/edit/', method =[POST,GET]) 
def edit(): 
    pass