2016-04-11 29 views
0

Flask ve Boostrap ile bir modal giriş formunun içeriğini almaya çalışıyorum. SO hakkındaki benzer soruların diğer yanıtlarının çoğu, form action yolunu eklemeyle ilgili konuşur, ancak bunu çözmüyorsunuz. Buradaki soruna neden olan nedir?Bootstrap/Flask modal Hatalı İstek için

html

from flask import Flask, render_template, request 

app = Flask(__name__) 
app.secret_key = "Some secret string here" 
@app.route('/getname', methods=["GET", "POST"]) 
def getname(): 

    if request.method == "POST": 
     print request.form['value of Id'] 
    return render_template("done.html") 

if __name__ == "__main__": 
    app.run(debug=True) 

init.py kalıcı form:

<div class="modal fade" id="editModal" tabindex="-1" role="dialog" aria-labelledby="editModalLabel" aria-hidden="true"> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> 
      </div> 
      <div class="modal-body"> 
       <form method="post" role="form" action="/getname"> 
        <div class="form-group"> 
         <label for="Name" class="control-label">Name:</label> 
         <input type="text" class="form-control" id="Name"> 

         <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
         <a href="/getname"><button type="submit" id="btnUpdate" class="btn btn-primary">Submit</button></a> 
        </div> 
       </form> 
      </div> 
     </div> 
    </div> 
</div> 

cevap

1
<form method="post" role="form" action="/getname" id="form1"> 
    <div class="form-group"> 
     <label for="Name" class="control-label">Name:</label> 
     <input type="text" class="form-control" id="Name"> 

     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
    </div> 
</form> 
<button type="submit" id="btnUpdate" class="btn btn-primary" form="form1">Submit</button> 

sizin düğmeye mislocated gelmiş görünüyor, bunu deneyin.

2

Kimlik yerine name niteliğini kullanmanız gerekir. Bu Flask veya Python'a özgü bir şey değil, bunun yerine HTTP'dir.

from flask import Flask, render_template, request 

app = Flask(__name__) 
app.secret_key = "Some secret string here" 
@app.route('/getname', methods=["GET", "POST"]) 
def getname(): 

    if request.method == "POST": 
     print request.form['Name'] 
    return render_template("done.html") 

if __name__ == "__main__": 
    app.run(debug=True) 

ve

<form method="post" role="form" action="/getname" id="form1"> 
    <div class="form-group"> 
     <label for="Name" class="control-label">Name:</label> 
     <input type="text" class="form-control" id="Name" name="Name"> 

     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
    </div> 
</form> 
<button type="submit" id="btnUpdate" class="btn btn-primary" form="form1">Submit</button> 
+0

Teşekkür !! Ayrıca "isim" alanını da kaçırdım ve yukarıdaki çözüm problemi çözdü. – user1501382

İlgili konular