2017-03-01 103 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> 

和我的燒瓶代碼是這樣的:

@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') 

即時消息沒有得到當我運行這段代碼填寫Excel工作表。

回答

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

我想你在終端上看不到'嗨'和'你好'。你的問題是你定義了「數據」函數,但你不執行它。

,並抄送路線改成這樣:

@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檢查答案,我沒有看到你發佈到第二條路線。 – Arjjuna