Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- StatementError: (sqlalchemy.exc.InvalidRequestError) A value is required for bind parameter u'surname' [SQL: u'INSERT INTO users (name, surrname, nickname, password) VALUES (%(name)s, %(surname)s,%(nickname)s, %(password)s'] [parameters: [{':password': u'', ':name': u'John', ':surname': u'Young', ':nickname': u'yolojohny1'}]] (Background on this error at: http://sqlalche.me/e/cd3x)
- import os
- from flask import Flask, session, render_template, request
- from flask_session import Session
- from sqlalchemy import create_engine
- from sqlalchemy.orm import scoped_session, sessionmaker
- app = Flask(__name__)
- # Check for environment variable
- if not os.getenv("DATABASE_URL"):
- raise RuntimeError("DATABASE_URL is not set")
- # Configure session to use filesystem
- app.config["SESSION_PERMANENT"] = False
- app.config["SESSION_TYPE"] = "filesystem"
- Session(app)
- # Set up database
- engine = create_engine(os.getenv("DATABASE_URL"))
- db = scoped_session(sessionmaker(bind=engine))
- @app.route("/")
- def index():
- return render_template("register.html")
- @app.route('/register', methods=["POST"])
- def register():
- "REGISTRATION PROCESS"
- # Get form information
- name = request.form.get("name")
- surname = request.form.get("surname")
- nickname = request.form.get("nickname")
- password = request.form.get("password")
- db.execute("INSERT INTO users (name, surrname, nickname, password) VALUES (:name, :surname,"
- ":nickname, :password", {":name": name, ":surname": surname, ":nickname": nickname,
- ":password": password})
- db.commit()
- return render_template("success.html")
- {% extends "layout.html" %}
- {% block title %}
- New User
- {% endblock %}
- {% block body %}
- <h1>Register new account</h1>
- <form action="{{ url_for('register') }}" method="post">
- <div class="form-group">
- <input class="form-control" name="name" placeholder="First Name">
- </div>
- <div class="form-group">
- <input class="form-control" name="surname" placeholder="Second Name">
- </div>
- <div class="form-group">
- <input class="form-control" name="nickname" placeholder="Nickname">
- </div>
- <div class="form-group">
- <input type="password" class="form-control" name="password" placeholder="Password">
- </div>
- <div class="formgroup">
- <button class="btn btn-primary">Create account!</button>
- </div>
- </form>
- {% endblock %}
- CREATE TABLE "users" (
- id SERIAL PRIMARY KEY,
- name VARCHAR NOT NULL,
- surrname VARCHAR NOT NULL,
- nickname VARCHAR NOT NULL,
- password VARCHAR NOT NULL
- )
Add Comment
Please, Sign In to add comment