2017-12-03 214 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