python 2.7html
app.pypython
# coding:utf-8 import sys reload(sys) sys.setdefaultencoding('utf-8')#解决中文乱码问题 from flask import Flask,request,render_template from flask_sqlalchemy import SQLAlchemy # 引入wtf表单 from wtforms import PasswordField,StringField,Form #引入表单验证器 from wtforms.validators import DataRequired from models import * class LoginForm(Form): Username = StringField("Username",validators=[DataRequired()]) Password = PasswordField("Password",validators=[DataRequired]) import os app =Flask(__name__) app.config.from_object('config') #指定数据库URI app.config['SQLALCHEMY_DATABASE_URI']=os.getenv('DATABASE_URL','mysql+pymysql://root:000000@localhost:3306/test') db = SQLAlchemy(app) # 登陆模块 @app.route('/',methods=['GET','POST']) def login(): form = LoginForm(request.form)#表单赋值 message=""#初始化message if request.method=="POST": flag = Existed(form.Username.data,form.Password.data) if flag: message = "登录成功!" else: message = "帐号或密码错误!" return render_template("login.html",form=form,message=message) #注册模块 @app.route('/register',methods=['GET','POST']) def register(): form = LoginForm(request.form) # 表单赋值 message = ""#初始化message if request.method == 'POST': flag = Add_user(form.Username.data, form.Password.data) if flag == False: message = "用户已存在!" else: message = "注册成功!" return render_template("register.html", form=form, message=message ) if __name__ == '__main__': app.run(debug=app.config['DEBUG']) #调试模式
config.pymysql
DEBUG = True
models.pysql
# coding:utf-8 from app import db class User(db.Model): id = db.Column(db.Integer,primary_key=True,index=True) username = db.Column(db.String(30)) password = db.Column(db.String(30)) def Existed(u,p): users = User.query.filter_by(username=u).first() if users: if users.password==p: return True else: return False else: return False def Add_user(u,p): if User.query.filter_by(username=u).first(): return False else: print u,p user = User(username=u,password=p) db.session.add(user) db.session.commit() return True # Add_user('123','123')
templates/login.html数据库
<!DOCTYPE html> <html lang="cn"> <head> <meta charset="UTF-8"> <title>login</title> </head> <body> <form method="post"> {{ message }} <p>{{ form.Username}}</p> <p>{{ form.Password }}</p> <input type="submit" value="login"> </form> </body> </html>
register/register.htmlflask
<!DOCTYPE html> <html lang="cn"> <head> <meta charset="UTF-8"> <title>register</title> </head> <body> <form method="post"> {{ message }} <p>{{ form.Username}}</p> <p>{{ form.Password }}</p> <input type="submit" value="login"> </form> </body> </html>