码迷,mamicode.com
首页 > 其他好文 > 详细

完成注册功能

时间:2017-11-21 22:17:13      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:==   error   on()   input   dea   deb   ssi   数据   styles   

  1. js文件: onclick函数return True时才提交表单,return False时不提交表单。
    function myLogin() {
        var oUname = document.getElementById("uname");
        var oUpass = document.getElementById("upass");
        var oAgain = document.getElementById("again");
        var oError = document.getElementById("error_box");
         var isError = true;
        oError.innerHTML = "<br>";
        // 验证用户名
        if (user.value.length < 6 || user.value.length > 20) {
            oError.innerHTML = "用户名6-20位";
             isError = false;
             return isError;
        } else if ((user.value.charCodeAt(0) >= 48) && (user.value.charCodeAt(0) <= 57)) {
            oError.innerHTML = "用户名首字母不能是数字";
            isError = false;
            return isError;
        } else for (var i = 0; i < user.value.length; i++) {
            if ((user.value.charCodeAt(i) < 48) || (user.value.charCodeAt(i) > 57) && (user.value.charCodeAt(i) < 97) || (user.value.charCodeAt(i) > 122)) {
                oError.innerHTML = "用户名只能是数字或字母";
                  isError = false;
                  return isError;
            }
        }
    
        // 验证密码
        if (upass.value.length < 6 || pass.value.length > 20) {
            oError.innerHTML = "密码6-20位";
            isError = false;
            return isError;
        }
    
        // 验证再次输入的密码
        if (upass.value != zhuce.value) {
            oError.innerHTML = "密码不一致";
           isError = false;
           return isError;
        }
        return ture;
    
        // 验证弹框
        window.alert("注册成功!")
    }

    html文件:

    1. <form>中设置 action和method="post"
    2. <input> 中设置 name
      {% extendsbase.html %}
      {% block title %}
          register
      {% endblock %}
          {% block head %}
          <link rel="stylesheet" type="text/css" href="../static/css/1.css">
              <script src="../static/js/zhuce.js"></script>
              <script src="{{ url_for(‘static‘,filename=‘js/zhuce.js‘) }}"></script>
      {% endblock %}
      {% block main %}
      <body>
      <div class="box">
      <h1>注册</h1>
          <form action="{{ url_for(‘register‘) }}" method="post">
                <div class="input_box">
                    Username:<input id="uname"type="text" name="username"placeholder="请输入用户名">
                </div>
                    <br>
                    <div class="input_box">
                    Password:<input id="upass"type="password" name="password"placeholder="请输入登录密码">
                 </div>
                    <br>
                <div class="input_box">
                     密码确认:<input id="again" type="password" placeholder="请再次输入密码">
               </div><br>
                   <div id="error_box"><br></div>
                   <div class="input_box">
                    <button onclick="myLogin()">点击注册</button>
                    <button type="button" onclick=window.alert("是否取消注册!")>取消</button>
      
      </div>
          </form>
      </div>
      </body> {% endblock %}
      1. 主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重定向到登录页

      from flask import Flask, render_template,request,redirect,url_for
      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)
      
      #db.create_all()
      
      #user=User(username=‘yyyy1‘,password=‘111111‘)
      #db.session.add(user)
      #db.session.commit()
      
      #user = User.query.filter(User.username == ‘yyyy1‘).first()
      
      
      #user=User.query.filter(User.username==‘yyyy1‘).first()
      #user.password=‘234567‘
      #print(user.username,user.password)
      #db.session.commit()
      
      #user=User.query.filter(User.username == ‘yyyy1‘).first()
      #db.session.delete(user)
      #db.session.commit()
      #
      @app.route(/)
      def base():
          return render_template(base.html)
      
      
      @app.route(/login/)
      def login():
          return render_template(login.html)
      
      
      @app.route(/register/, methods=[GET,POST])
      def register():
          if request.method==GET:
              return render_template(register.html)
          else:
              usern=request.form.get(username)
              passw= request.form.get(password)
              user=User.query.filter(User.username==usern).first()
              if user:
                  return username existed
              else:
                  user=User(username=usern,password=passw)
                  db.session.add(user)
                  db.session.commit()
                  return redirect(url_for(login))
      
      
      @app.route(/question/)
      def question():
          return render_template(question.html)
      
      if __name__ == __main__:
          app.run(debug=True)

       

完成注册功能

标签:==   error   on()   input   dea   deb   ssi   数据   styles   

原文地址:http://www.cnblogs.com/222ya/p/7874491.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!