Advertisement
elyrm

register

Feb 14th, 2018
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.26 KB | None | 0 0
  1. from flask import Flask, render_template,request,flash,redirect, url_for,logging,session
  2. import hashlib
  3. from flaskext.mysql import MySQL
  4. #from flask_mysql import MySQL
  5. from wtforms import Form,StringField, TextAreaField, validators,PasswordField
  6. from werkzeug.security import generate_password_hash, check_password_hash
  7. from passlib.hash import sha256_crypt
  8.  
  9. app = Flask(__name__)
  10.  
  11. mysql =MySQL()
  12. app.config['MYSQL_DATABASE_USER'] = 'root'
  13. app.config['MYSQL_DATABASE_PASSWORD']='1515'
  14. app.config['MYSQL_DATABASE_DB']='hotel'
  15. app.config['MYSQL_DATABASE_HOST']='localhost'
  16. app.config['MYSQL_DATABASE_CURSORCLASS']='DictCursor'
  17.  
  18. mysql.init_app(app)
  19.  
  20.  
  21. class RegisterForm(Form):
  22.     name=StringField('name', [validators.Length(min=5, max=20)])
  23.     username=StringField('username', [validators.Length(min=5, max=20)])
  24.     email=StringField('email', [validators.Length(min=5, max=50)])
  25.     password=PasswordField('password', [
  26.         validators.DataRequired(),
  27.         validators.EqualTo('confirm', message='password do not match')])
  28.     confirm=PasswordField('Confirm password')
  29.  
  30.  
  31.  
  32. #about register
  33. @app.route('/register/', methods=['GET', 'POST'])
  34. def register():
  35.     form = RegisterForm(request.form)
  36.     if request.method == 'POST' and form.validate():
  37.         name = form.name.data
  38.         username = form.username.data
  39.         email = form.email.data
  40.         password = sha256_crypt.encrypt(str(form.password.data))
  41.  
  42.         #creating curso
  43.         # cursor = mysql.connect.cursor()
  44.         #cursor=db.cursor()
  45.         try:
  46.             conn =mysql.connect()
  47.             cursor =conn.cursor()
  48.             cursor.execute("INSERT INTO user (name, username, email, password) VALUES(%s, %s, %s, %s)",(name, username, email, password))
  49.             conn.commit()
  50.             msg='record successfull added'
  51.         except:
  52.             msg='Fail to add record'
  53.  
  54.         #cur.close()
  55.             #flash('done your registerd')
  56.             redirect(url_for('new.html'))
  57.         finally:
  58.             return render_template('test.html',msg=msg)
  59.  
  60.  
  61.     return render_template('register.html', form=form)
  62.  
  63. ########################################
  64. ####Then the Register Form WTForm ######
  65. ########################################
  66.  
  67. {% extends 'layout.html' %}
  68.  
  69. {% block body %}
  70.      
  71.         {% from "includes/_formhelpers.html" import render_field %}
  72.      
  73.         <h1>REGISTER</h1>
  74.      
  75.             <form method="POST" action="/register/">
  76.               <div class="form-group">
  77.                 {{render_field(form.name, class_="form-control")}}
  78.               </div>
  79.  
  80.                <div class="form-group">
  81.                 {{render_field(form.username, class_="form-control")}}
  82.               </div>
  83.  
  84.                <div class="form-group">
  85.                 {{render_field(form.email, class_="form-control")}}
  86.               </div>
  87.  
  88.                <div class="form-group">
  89.                 {{render_field(form.password, class_="form-control")}}
  90.               </div>
  91.  
  92.                <div class="form-group">
  93.                 {{render_field(form.confirm, class_="form-control")}}
  94.               </div>
  95.               <button id="btnLogin" class="btn btn-lg btn-primary btn-block" type="submit">submit</button>
  96.          </form>
  97.         </div>
  98. {%  endblock %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement