• 完成注册功能


    1. js文件: onclick函数return True时才提交表单,return False时不提交表单。
    2. html文件:
      1. <form>中设置 action和method="post"
      2. <input> 中设置 name
    3. 主py文件中:
      1. from flask import  request, redirect, url_for
      2. @app.route('/regist/', methods=['GET', 'POST’])

    def regist():

       if request.method == 'GET':

            return render_template('regist.html')

       else:

            username = request.form.get(‘username’)#获取form中的数据

            判断用户名是否存在:存在报错

      不存在,存到数据库中

           redirect重定向到登录页

    1

    function myLogin() {
                var oUname = document.getElementById("umane");
                var oError = document.getElementById("error_box");
                 var oUpass = document.getElementById("upass");
                oError.innerHTML = "<br>"
         //oUname
            if (oUname.value.length>12 || oUname.value.length<6){
                oError.innerHTML = "用户名必须为6到12位数";
                return;
             } else if((oUname.value.charCodeAt(0)>=48) && oUname.value.charCodeAt(0)<=57){
     
                oError.innerHTML = "首字母不能为数字";
                return;
            }else for(var i=0; i<oUname.value.length;i++)
            {
     
         if((oUname.value.charCodeAt(i)<48 || oUname.value.charCodeAt(i)>57)&&(oUname.value.charCodeAt(i)<97 || oUname.value.charCodeAt(i)>122 )){
                        oError.innerHTML = "用户名只能包含字母和数字";
                        return;
                    }
                }
     
     
                if(upass.value.length>12 || upass.value.length<6){
                    oError.innerHTML="密码为6到12位数";
                    return;
                }
                window.alert("已成功登陆")
     if(oCheckpass.value!=oUpass.value) {
            oError.innerHTML = "sorry,the password is false";
            return false;
    }

      2

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <link rel="stylesheet" type="text/css" href="../static/css/1234.css">
        <script src="../static/js/123.js"></script>
     
     
    </head>
    <body>
    <form action="{{ url_for('regist') }}" method="post" >
    <div class="Outbox">
          <div class="box">
              <h2>欢迎来到博客园,代码改变世界!</h2>
              <h3>登录页面</h3>
     
            <div class="input_box">
               账号:<input id="umane"type="text"placeholder="请输入账号">
            </div>
            <div class="input_box">
               密码:<input id="upass"type="password"placeholder="请输入密码">
            </div>
              <div id="error_box"><br></div>
              <div class="input_box">
                  <button onclick="myLogin()">登录</button>
                   <button onclick=window.alert("请重新输入")>取消</button></div>
     
              </div>
    </div>
     </form>
    </body>
    </html>
    

      3

    from flask import Flask, render_template,redirect,url_for,request,session
    from flask_sqlalchemy import SQLAlchemy
    
    import config
    
    app = Flask(__name__)
    app.config.from_object(config)
    db = SQLAlchemy(app)
    
    
    class User(db.Model):
        __tablename__ = 'user'
        id = db.Column(db.Integer, primary_key=True, autoincrement=True)
        username = db.Column(db.String(20), nullable=False)
        password = db.Column(db.String(20), nullable=False)
        nickname = db.Column(db.String(20))
    # db.create_all()
    
    @app.route('/')
    def index():
        return render_template('index.html')
    
    
    @app.route('/regist/',methods=['GET','POST'])
    def regist():
        if request.method == 'GET':
            return render_template("regist.html")
        else:
            username = request.form.get("username")
            password = request.form.get("password")
            user = User.query.filter(User.username == username).first()
            if user:
                return 'username existed.'
            else:
                user = User(username=username, password=password)
                db.session.add(user) #数据库,添加操作
                db.session.commit()
                return redirect(url_for('login'))
    
    
    @app.route('/login/')
    def login():
        return render_template("login.html")
    
    
    
    if __name__ == '__main__':
        app.run(debug=True)
    

      

  • 相关阅读:
    快速制作高保真原型不得不知的小技巧
    EXC_BAD_ACCESS的本质详解以及僵尸模式调试原理
    Android开发的那些坑和小技巧
    谈Runtime机制和使用的整体化梳理
    在Mac OSX下设置前端开发环境
    uglifyjs压缩JS
    背投广告js
    鼠标到哪tl到哪
    word-wrap同word-break的区别(转)
    HTML中的转义字符
  • 原文地址:https://www.cnblogs.com/lhw1997/p/7881315.html
Copyright © 2020-2023  润新知