The view function

The view function that will process the request accepts both GET and POST request methods. The endpoint '/add' is used in this case, though it could have been anything that differentiated it from the arena endpoint:

@app.route('/nba/api/v0.1/arena/add', methods=['GET', 'POST'])
def add_arenas():
form = AddForm(request.form)
form.name.data = "New Arena"
form.longitude.data = -121.5
form.latitude.data = 37.8
if request.method == "POST":
arena = Arena()
arena.name = request.form['name']
arena.latitude = float(request.form['latitude'])
arena.longitude = float(request.form['longitude'])
arena.geom = 'SRID=4326;POINT({0} {1})'.format(arena.longitude, arena.latitude)
session.add(arena)
data = [{"type": "Feature", "properties":{"name":arena.name},
"geometry":{"type":"Point",
"coordinates":[round(arena.longitude,6), round(arena.latitude,6)]},}]
return jsonify({'added':'success',"type": "FeatureCollection","features":data})
return render_template('addarena.html', form=form)

Once the button is pushed, the data is submitted. The view function will determine what to do based on the request method—if it is a POST request, the data submitted in the form will be used to create a new arena object, and the session manager will save the object, adding it to the database.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset