Advertisement
Guest User

Untitled

a guest
Jun 12th, 2017
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.27 KB | None | 0 0
  1. I'm trying to get POST/rest off the ground for Python and running into difficulties:
  2.  
  3.  
  4. Here is the error I am getting:
  5.  
  6.  
  7. 127.0.0.1 - - [12/Jun/2017 17:55:11] "OPTIONS /profit HTTP/1.1" 200 -
  8. [2017-06-12 17:55:11,869] ERROR in app: Exception on /profit [POST]
  9. Traceback (most recent call last):
  10.  File "/home/patientplatypus/vuespring/backend_PYTHON3/env/local/lib/python2.7/site-packages/flask/app.py", line 1982, in wsgi_app
  11.    response = self.full_dispatch_request()
  12.  File "/home/patientplatypus/vuespring/backend_PYTHON3/env/local/lib/python2.7/site-packages/flask/app.py", line 1614, in full_dispatch_request
  13.    rv = self.handle_user_exception(e)
  14.  File "/home/patientplatypus/vuespring/backend_PYTHON3/env/local/lib/python2.7/site-packages/flask_cors/extension.py", line 161, in wrapped_function
  15.    return cors_after_request(app.make_response(f(*args, **kwargs)))
  16.  File "/home/patientplatypus/vuespring/backend_PYTHON3/env/local/lib/python2.7/site-packages/flask/app.py", line 1517, in handle_user_exception
  17.    reraise(exc_type, exc_value, tb)
  18.  File "/home/patientplatypus/vuespring/backend_PYTHON3/env/local/lib/python2.7/site-packages/flask/app.py", line 1612, in full_dispatch_request
  19.    rv = self.dispatch_request()
  20.  File "/home/patientplatypus/vuespring/backend_PYTHON3/env/local/lib/python2.7/site-packages/flask/app.py", line 1598, in dispatch_request
  21.    return self.view_functions[rule.endpoint](**req.view_args)
  22.  File "/home/patientplatypus/vuespring/backend_PYTHON3/main.py", line 50, in profits
  23.    cur.execute("INSERT INTO PROFITS (ID,NAME,DESCRIPTION) VALUES (request.json['id'], request.json['name'], request.json['description'])")
  24. ProgrammingError: syntax error at end of input
  25. LINE 1: ...son['id'], request.json['name'], request.json['description']
  26.  
  27.  
  28.  
  29.  
  30. And here is my code. Any help would be appreciated.
  31.  
  32.  
  33.  
  34. from flask import Flask, request, jsonify
  35. from flask_sqlalchemy import SQLAlchemy
  36. from flask_cors import CORS, cross_origin
  37. import sqlite3
  38. import psycopg2
  39.  
  40. import os
  41. from os.path import join, dirname
  42. from dotenv import load_dotenv
  43.  
  44. from models.shared import db
  45. from models.profits import Profit
  46. #from models.race_unit import RaceUnit
  47.  
  48. dotenv_path = join(dirname(__file__), '.env')
  49. load_dotenv(dotenv_path)
  50.  
  51. app = Flask(__name__)
  52. CORS(app)
  53. 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'))
  54.  
  55. db.app = app
  56. db.init_app(app)
  57. # Create tables if they don't already exist
  58. db.create_all()
  59.  
  60. @app.route('/')
  61. def index():
  62.     return 'At Index of Python Backend'
  63. @app.route('/profit', methods=['POST','GET'])
  64. def profits():
  65.     if request.method=='POST':
  66.         conn = psycopg2.connect(database = "money", user = "patientplatypus", password = "Fvnjty0b")
  67.         cur = conn.cursor()
  68.         cur.execute("INSERT INTO PROFITS (ID,NAME,DESCRIPTION) VALUES (request.json['id'], request.json['name'], request.json['description'])")
  69.  
  70.         conn.commit()
  71.         print "Records created successfully";
  72.         conn.close()
  73.     if request.method=='GET':
  74.         profits = [i.serialize for i in Profit.query.all()]
  75.         return jsonify(profits)
  76. if __name__ == '__main__':
  77.     app.run(debug=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement