Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- I'm trying to get POST/rest off the ground for Python and running into difficulties:
- Here is the error I am getting:
- 127.0.0.1 - - [12/Jun/2017 17:55:11] "OPTIONS /profit HTTP/1.1" 200 -
- [2017-06-12 17:55:11,869] ERROR in app: Exception on /profit [POST]
- Traceback (most recent call last):
- File "/home/patientplatypus/vuespring/backend_PYTHON3/env/local/lib/python2.7/site-packages/flask/app.py", line 1982, in wsgi_app
- response = self.full_dispatch_request()
- File "/home/patientplatypus/vuespring/backend_PYTHON3/env/local/lib/python2.7/site-packages/flask/app.py", line 1614, in full_dispatch_request
- rv = self.handle_user_exception(e)
- File "/home/patientplatypus/vuespring/backend_PYTHON3/env/local/lib/python2.7/site-packages/flask_cors/extension.py", line 161, in wrapped_function
- return cors_after_request(app.make_response(f(*args, **kwargs)))
- File "/home/patientplatypus/vuespring/backend_PYTHON3/env/local/lib/python2.7/site-packages/flask/app.py", line 1517, in handle_user_exception
- reraise(exc_type, exc_value, tb)
- File "/home/patientplatypus/vuespring/backend_PYTHON3/env/local/lib/python2.7/site-packages/flask/app.py", line 1612, in full_dispatch_request
- rv = self.dispatch_request()
- File "/home/patientplatypus/vuespring/backend_PYTHON3/env/local/lib/python2.7/site-packages/flask/app.py", line 1598, in dispatch_request
- return self.view_functions[rule.endpoint](**req.view_args)
- File "/home/patientplatypus/vuespring/backend_PYTHON3/main.py", line 50, in profits
- cur.execute("INSERT INTO PROFITS (ID,NAME,DESCRIPTION) VALUES (request.json['id'], request.json['name'], request.json['description'])")
- ProgrammingError: syntax error at end of input
- LINE 1: ...son['id'], request.json['name'], request.json['description']
- And here is my code. Any help would be appreciated.
- from flask import Flask, request, jsonify
- from flask_sqlalchemy import SQLAlchemy
- from flask_cors import CORS, cross_origin
- import sqlite3
- import psycopg2
- import os
- from os.path import join, dirname
- from dotenv import load_dotenv
- from models.shared import db
- from models.profits import Profit
- #from models.race_unit import RaceUnit
- dotenv_path = join(dirname(__file__), '.env')
- load_dotenv(dotenv_path)
- app = Flask(__name__)
- CORS(app)
- app.config['SQLALCHEMY_DATABASE_URI'] = '%s://%s:%s@%s/%s' % (os.environ.get('DB_DRIVER'), os.environ.get('DB_USER'), os.environ.get('DB_PASSWORD'), os.environ.get('DB_HOST'), os.environ.get('DB_NAME'))
- db.app = app
- db.init_app(app)
- # Create tables if they don't already exist
- db.create_all()
- @app.route('/')
- def index():
- return 'At Index of Python Backend'
- @app.route('/profit', methods=['POST','GET'])
- def profits():
- if request.method=='POST':
- conn = psycopg2.connect(database = "money", user = "patientplatypus", password = "Fvnjty0b")
- cur = conn.cursor()
- cur.execute("INSERT INTO PROFITS (ID,NAME,DESCRIPTION) VALUES (request.json['id'], request.json['name'], request.json['description'])")
- conn.commit()
- print "Records created successfully";
- conn.close()
- if request.method=='GET':
- profits = [i.serialize for i in Profit.query.all()]
- return jsonify(profits)
- if __name__ == '__main__':
- app.run(debug=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement