def post(): # 获取经纬坐标 coordinate_lng = request.form.get('coordinate_lng', '') coordinate_lat = request.form.get('coordinate_lat', '') if coordinate_lng and coordinate_lat: # 先从数据库中 通过坐标获取地点,如果有直接返回,没有则保存 venue = db.session.query(Venue).filter( Venue.coordinate_lng == coordinate_lng, Venue.coordinate_lat == coordinate_lat).first() if venue: data = {'id': venue.id} return jsonify({'code': 1, 'result': data}) else: try: venue = Venue() venue.name = request.form.get('name', '') venue.address = request.form.get('address', '') venue.coordinate_lng = coordinate_lng venue.coordinate_lat = coordinate_lat venue.category = request.form.get('category', '') venue.link_man_mobile = request.form.get('link_man_mobile', '') venue = Venue().add(venue) data = {'id': venue.id} return jsonify({'code': 1, 'result': data}) except Exception, e: current_app.logger.error(str(e)) e_msg = ' venue save error ' return jsonify({'code': 0, 'error': e_msg})
def create_venue_submission(): error = False data = request.form try: venue = Venue() venue.name = data['name'] venue.city = data['city'] venue.state = data['state'] venue.address = data['address'] venue.phone = data.get('phone', '') venue.facebook_link = data.get('facebook_link', '') venue.genres = [ VenueGenres(genre=GenreEnum[genre]) for genre in data.getlist('genres') ] db.session.add(venue) db.session.commit() except: error = True db.session.rollback() finally: data = venue.to_dict() db.session.close() if not error: # on successful db insert, flash success flash(f'Venue {data["name"]} was successfully listed!', 'alert-success') else: # on unsuccessful db insert, flash an error flash( f'An error occurred. Venue {data["name"]} could not be listed. \ Does the venue already exist?', 'alert-danger') return render_template('pages/home.html')