Hello everyone, i need help, i'm stuck with this problem for days now. However this is my first time deploying an app with pythonanywhere. My server side api-s alongisde my db are hosted on pythonanywhere and my frontend and everything else is on Netlify.
error log here:
2019-09-30 17:35:54,003: Exception on /users [POST] Traceback (most recent call last): File "/home/egze/.virtualenvs/deploy/lib/python3.7/site-packages/flask/app.py", line 2446, in wsgi_app response = self.full_dispatch_request() File "/home/egze/.virtualenvs/deploy/lib/python3.7/site-packages/flask/app.py", line 1951, in full_dispatch_request rv = self.handle_user_exception(e) File "/home/egze/.virtualenvs/deploy/lib/python3.7/site-packages/flask_cors/extension.py", line 161, in wrapped_function return cors_after_request(app.make_response(f(args, *kwargs))) File "/home/egze/.virtualenvs/deploy/lib/python3.7/site-packages/flask/app.py", line 1820, in handle_user_exception reraise(exc_type, exc_value, tb) File "/home/egze/.virtualenvs/deploy/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise raise value File "/home/egze/.virtualenvs/deploy/lib/python3.7/site-packages/flask/app.py", line 1949, in full_dispatch_request rv = self.dispatch_request() File "/home/egze/.virtualenvs/deploy/lib/python3.7/site-packages/flask/app.py", line 1935, in dispatch_request return self.view_functionsrule.endpoint File "/home/egze/deploy/main.py", line 34, in login flask.request.json) File "/home/egze/.virtualenvs/deploy/lib/python3.7/site-packages/pymysql/cursors.py", line 168, in execute query = self.mogrify(query, args) File "/home/egze/.virtualenvs/deploy/lib/python3.7/site-packages/pymysql/cursors.py", line 147, in mogrify query = query % self._escape_args(args, conn) KeyError: 'user_email'
Api call that seems to have an error:
@app.route('/users', methods=['POST'])
def register_user():
db = mysql_db.get_db()
cursor = db.cursor()
cursor.execute("INSERT INTO users (user_name, user_country, user_email, user_password) VALUES(%(user_name)s, %(user_country)s, %(user_email)s, %(user_password)s)", flask.request.json)
db.commit()
return "", 201
And call from frontend(react):
register = event => {
event.preventDefault();
axios
.post(
"https://egze.pythonanywhere.com/users",
{ user_name: this.nameInput.value },
{ user_country: this.countryInput.value },
{ user_email: this.emailInput.value },
{ user_password: this.passwordInput.value }
)
.then(response => {
this.props.userRegister(response);
this.props.history.push("/login");
})
.catch(
error => console.log(error.response),
swal("Something went wrong \n Try again later.", {
button: false
})
);
};
Thank you in advance!