2017-03-01 18 views
0

私はこのような形をしています:詳細を投稿すると、それをExcelシートに保存できるはずです。フラスコ内での方法は許可されていません

<div class="for" align="middle"> 
    <form action="/models" method="POST"> 
     <label for="fname">Customer Name</label></br> 
     <input type="text" id="Cname" name="Cname" placeholder="Your name.."></br> 

     <label for="cname">Customer Email id</label></br> 
     <input type="text" id="mailid" name="mailid" placeholder="Your email id.."></br> 

     <label for="cnumber">Customer Contact Number</label></br> 
     <input type="text" id="cnumber" name="cnumber" placeholder="Your phone number.."></br> 

     <label for="plan">When do you plan to buy ?</label></br> 
     <select id="plan" name="plan"> 
     <option value="Immediate">Immediate</option> 
     <option value="1-3 Months">1-3 Months</option> 
     <option value="4-6 Months">4-6 Months</option> 
     </select> 
     </br> 
     <label for="spn">Sales Person Name</label></br> 
     <input type="text" id="spn" name="spn" placeholder="Sales-person name.."></br> 

     <input type="submit" value="Submit"> 
    </form> 
    </div> 

と私のフラスココードはこれです:私はこのコードを実行するときに満たされたExcelシートを得ていない

@app.route('/cc' ,methods = ['POST', 'GET']) 
def cc(): 
    if request.method=='POST': 
     def data(): 
      wb = openpyxl.load_workbook(url_for('customer_info.xlsx')) 
      sheet = wb.active 
      sheet = wb.get_sheet_by_name('info') 
      print('hey') 
      sheet[A2]= request.form['Cname'] 
      sheet[A3]= request.form['mailid'] 
      print('hello') 
      sheet[A3]= request.form['cnumber'] 
      sheet[A4]= request.form['plan'] 
      sheet[A5]= request.form['spn'] 
      wb.save('customer_info.xlsx') 
    return render_template('cc.html') 


@app.route('/models') 
def models(): 
    return render_template('models.html') 

イム。

答えて

0

フォームが/models

<form action="/models" method="POST"> 

に掲載されていますが/modelsルートがメソッドとしてPOSTを受け入れていない、と相互作用しませんExcelシート。

@app.route('/models') 
def models(): 
    return render_template('models.html') 

私はあなたが/cc代わりの/modelsに投稿したいと思います。

また、ccルートでは、dataという名前のファンクションを定義していますが、そのファンクションをコールしていません。そのルートを次のように変更することができます。

@app.route('/cc' ,methods = ['POST', 'GET']) 
def cc(): 
    if request.method=='POST': 
     wb = openpyxl.load_workbook(url_for('customer_info.xlsx')) 
     sheet = wb.active 
     sheet = wb.get_sheet_by_name('info') 
     print('hey') 
     sheet[A2]= request.form['Cname'] 
     sheet[A3]= request.form['mailid'] 
     print('hello') 
     sheet[A3]= request.form['cnumber'] 
     sheet[A4]= request.form['plan'] 
     sheet[A5]= request.form['spn'] 
     wb.save('customer_info.xlsx') 
    return render_template('cc.html') 
0

私はあなたが 'hey'と 'hello'を端末で見ることができないと思います。あなたの問題は、 "データ"機能を定義しても、実行しないということです。

変更し、これには、ccルート:

@app.route('/cc' ,methods = ['POST', 'GET']) 
def cc(): 
    if request.method=='POST': 
     def data(): 
      wb = openpyxl.load_workbook(url_for('customer_info.xlsx')) 
      sheet = wb.active 
      sheet = wb.get_sheet_by_name('info') 
      print('hey') 
      sheet[A2]= request.form['Cname'] 
      sheet[A3]= request.form['mailid'] 
      print('hello') 
      sheet[A3]= request.form['cnumber'] 
      sheet[A4]= request.form['plan'] 
      sheet[A5]= request.form['spn'] 
      wb.save('customer_info.xlsx') 
     data() 
    return render_template('cc.html') 
+0

変更は行われましたが、Excelシートのエントリは実行されていません。 – charlie

+0

@MattHealyの回答を確認してください。私はあなたが2番目のルートに投稿しているのを見ていませんでした。 – Arjjuna

関連する問題