2016-06-13 147 views
-1

我想执行一个简单的python函数,通过它我想通过引导模态窗口动态更新数据库。再次出现无法识别的任何错误存在......而同样的错误......好心帮我在这里..400坏请求错误..... Flask python 2.7

from flask import Flask, render_template, redirect, json, request,session, url_for, jsonify 
from flask.ext.mysql import MySQL 
from werkzeug import generate_password_hash, check_password_hash 

@app.route('/updatepost', methods = ['POST', 'GET']) 
def updatepost(): 
     try: 
       if session.get('user'): 
         _posttitle = request.form['postt'] 
         _postcontent = request.form['postd'] 
         _postiid = request.args.get('id') 
         con = mysql.connect() 
         cursor = con.cursor() 
         print 555 
         #cursor.execute("UPDATE addpost SET post_title= 'apple' , post_content ='a fruit' WHERE Id = '" + _postiid + "'") 
         cursor.execute("UPDATE addpost SET post_title='" + str(_posttitle) + "', post_content ='" + str(_postcontent) + "' WHERE Id = '" + str(_postiid) + "'") 

         con.commit() 

         return redirect('/userhome') 
         cursor.close() 
         con.close() 
       else: 
         return redirect('/') 
     except Exception as e: 
       return render_template('error.html', error = str(e)) 

我的HTML代码..

<div class="modal fade" id="editModal" role="dialog"> 
    <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> 
     <h4 class="modal-title" id="editModalLabel">Edit Update</h4> 
     </div> 
     <div class="modal-body"> 
     <form role="form" method= POST> 
      <div class="form-group"> 
      <label for="recipient-name" class="control-label">Title:</label> 
      <textarea class="form-control" name="postt" id="editTitle"></textarea> 
      </div> 
      <div class="form-group"> 
      <label for="message-text" class="control-label">Description:</label> 
      <textarea class="form-control" name="postd" id="editDescription"></textarea> 
      </div> 

     <div class="modal-footer"> 
     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
     <button id="btnUpdate" name = "abc" type="button" onclick = "proceedupdate()" class="btn btn-primary">Update</button> 
     </div> 
     </form> 
     </div> 
    </div> 
    </div> 
</div> 
+1

浏览器控制台中的任何消息?和python控制台? – glls

+0

是的,无论是在蟒蛇控制台或浏览器的控制台... –

+0

也许它只是一个坏的复制粘贴,但在尝试下:有太多的空间(2个标签,而不是1) – glls

回答

0

它似乎是你不处理下updatepost您request.post():

@app.route('/something', methods=['GET', 'POST']) 
def something(): 
    """ 
    form, retrieves variables when using POST 
    """ 
    try: 

     if request.method == 'POST': 
      #do something 
     else: 
      #do something else 
    except Exception as e: 
     print(e) 

,因为在你的HTML你在形式submition指定的帖子方法:

form role="form" method= POST> 

您应该在def updatepost()中处理“POST”:目前它只处理GET请求,如果请求方法是POST,则不执行任何操作。

+0

明白了,,,现在它的工作好,,,, thanx :) –