Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Flask, html and javascript desktop app

I want to build a desktop application using python, html and javascript. So far i have followed the tuts on flask and have a hello world working example. What should i do now to make it working? how do the html files "talk" to the python scripts below them?

here is my code so far :

from flask import Flask, url_for, render_template, redirect
app = Flask(__name__)

@app.route('/hello/')
@app.route('/hello/<name>')
def hello(name=None):
    return render_template('hello.html', name=name)

@app.route('/')
def index():
    return redirect(url_for('init'))

@app.route('/init/')
def init():
    css = url_for('static', filename='zaab.css')
    return render_template('init.html', csse=css)

if __name__ == '__main__':
    app.run()
like image 988
Mpampinos Holmens Avatar asked Sep 22 '26 16:09

Mpampinos Holmens


1 Answers

You can use HTML forms just as you normally would in your Jinja templates - then in your handler you use the following:

from flask import Flask, url_for, render_template, redirect
from flask import request # <-- add this

# ... snip setup code ...

# We need to specify the methods that we accept
@app.route("/test-post", methods=["GET","POST"])
def test_post():
    # method tells us if the user submitted the form
    if request.method == "POST":
        name = request.form.name
        email = request.form.email
    return render_template("form_page.html", name=name, email=email)

If you wanted to use GET instaed of POST to submit the form you would just check request.args rather than request.form (See flask.Request's documentation for more information). If you are going to be doing much with forms though, I recommend checking out the excellent WTForms project and the Flask-WTForms extension.

like image 116
Sean Vieira Avatar answered Sep 25 '26 07:09

Sean Vieira



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!