zoukankan      html  css  js  c++  java
  • python实战flask简易登陆注册

    python 2.7

    app.py

    # 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.py

    DEBUG = True

    models.py

    # 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.html

    <!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>
    

      

  • 相关阅读:
    php中的form表单
    http
    PHP做的简单计算器
    用Js写贪吃蛇
    ajax简单操作,验证用户名是否可以
    关于ARM PC值
    阅读脚本控制pwm代码
    编译选项
    关于机器码、原码、反码、补码
    makefile学习之函数
  • 原文地址:https://www.cnblogs.com/wxzbk/p/10526321.html
Copyright © 2011-2022 走看看