[Flask] Creating a bootstrap table with values from mysql using flask

isaac tetteh itetteh34 at hotmail.com
Tue Apr 19 10:53:55 EDT 2016


Thanks I think I corrected the spelling. But also what i am trying to do is click a button and when the button is clicked a jQuery code will slide down the table which is is the form tag and the. Access the data from app.run. What do you suggest the validation of the button click should be other thanif request.method=="POST". Is there a better way to do that.  

Sent from my iPhone

> On Apr 19, 2016, at 9:36 AM, Oleksandr Chalyi <kerriden1 at gmail.com> wrote:
> 
>  if request.method=='POst'
> 
> I believe it should be changed to ==  'POST'
> 
>  c.execut('''SELECT * FROM Continent''')
> change to
>  c.execute('''SELECT * FROM Continent''')
> 
> But actually, the problem here is that if a request method is not POST, flask goes to return render_template("view.html", data=data), where variable data is not declared.
> You should declare data before  "if request.method == 'POST'"
> 
> 
> 2016-04-19 16:48 GMT+03:00 Unai Rodriguez <unai at sysbible.org>:
>> Don't you want to use flask SQL alchemy? The code becomes much cleaner
>> and less error prone.
>> 
>> -- unai
>> 
>> On Tue, Apr 19, 2016, at 09:38 PM, isaac tetteh wrote:
>> > hello guys I am trying to create a bootstrap table with data from MySQL
>> > database. I am getting an error local variable data referenced before
>> > assignment. Please help my code is as below.
>> >
>> > app.py code
>> >
>> >     @app.route("viewSingle", methods=['POST','GET'])
>> >     def Singleview():
>> >         if request.method=='POst':
>> >             if request.form['submit']=="view continent':
>> >                 try:
>> >                     c,conn=connection()
>> >                     c.execut('''SELECT * FROM Continent''')
>> >                     data=c.fetchall()
>> >                 except Error:
>> >                     flash("something wrong happend")
>> >                 finally:
>> >                     c.close()
>> >                     conn.close()
>> >         return render_template("view.html", data=data)
>> > view.html
>> >
>> >     <div class= "container">
>> >     <form class=form-group" action="{{url_for('SingleView')}}" method =
>> >     POST>
>> >      <tables class="table">
>> >       <thead>
>> >          <tr>
>> >           <th>header1</th>
>> >           <th>header2</th>
>> >          </th>
>> >        </thead>
>> >       {%for row in data%}
>> >         <tbody>
>> >           <tr class ="success">
>> >             <td>{row[1]}</td>
>> >             <td>{row [1]}</td>
>> >           </tr>
>> >         </tbody>
>> >        </table>
>> >     </form>
>> >     </div>
>> >
>> > It seems to not be working I was hoping on getting the value [0] and [1]
>> > from the tuple( data= c.fetchall()) into the table but I get the error
>> > local variable 'data' referenced before assignment.But if I change the
>> > return render_template("view.html", data=data) to he return
>> > render_template("view.html") its runs with no error but just that the
>> > </td></td>is empty noting print. Is there a better way to do this or am I
>> > missing something. Please advice or help. Thanks
>> >
>> >
>> > Sent from my iPhone
>> > _______________________________________________
>> > Flask mailing list
>> > Flask at python.org
>> > https://mail.python.org/mailman/listinfo/flask
>> _______________________________________________
>> Flask mailing list
>> Flask at python.org
>> https://mail.python.org/mailman/listinfo/flask
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/flask/attachments/20160419/d7ee02f1/attachment.html>


More information about the Flask mailing list