zoukankan      html  css  js  c++  java
  • 二十五、完成注册功能

    1. js文件: onclick函数return True时才提交表单,return False时不提交表单。
      function fnRegist() {
          var oUname = document.getElementById("name");
          var oError = document.getElementById("error_box");
          var oUpass = document.getElementById("password");
          var oCheckpass = document.getElementById("password2");
      
          var isError =true;
          if(oUname.value.length<6||oUname.value.length>20){
              oError.innerHTML="name:6-20位";
              return false;
          }else if(oUname.value.charCodeAt(0)>=48&&oUname.value.charCodeAt(0)<=57){
              oError.innerHTML="first letter.";
              return false;
          }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="only letter or number";
              return false;
              }
          }
      
          if(oUpass.value.length<6||oUpass.value.length>20){
              oError.innerHTML="password:6-20";
              return false;
          }
      
          if(oCheckpass.value!=oUpass.value) {
              oError.innerHTML = "sorry,the password is false";
              return false;
          }
      
          window.alert("注册成功");
          return true;
      }
    2. html文件:
      1. <form>中设置 action和method="post"
      2. <input> 中设置 name
        <{% extends 'index.html' %}
        {% block title %}注册{% endblock %}
        {% block head %}
        <link href="../static/css/regist.css" rel="stylesheet" type="text/css">
        <script src="../static/js/regist.js"></script>
        {% endblock %}
        {% block main %}

        <body class="bg">
        <div id="container">
        <<div class="box">
        <h1 id="zhuce">注册</h1>

        <div class="box">
        <form action="{{ url_for('regist') }}" method="post" >
        <div class="input_box">
        <input id="name" name="username"type="text"placeholder="请输入用户名"><br>

        </div>
        <br>
        <div class="input_box">
        <input id="password" name="password"type="password"placeholder="请输入密码"><br><br>
        <input id="password2" name="password2"type="password"placeholder="请确认密码"><br>
        </div>
        <br>
        <div id="error_box"><br></div>
        <div class="input_box">
        <button onclick="fnLogin()">注册</button>

        </div>
        <br></form>
        </div>

        </div>
        </body>
        {% endblock %}
        </html>
    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重定向到登录页

      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)
         

         

  • 相关阅读:
    【读书笔记】《暗时间》刘未鹏
    HDU4389:X mod f(x)(数位DP)
    尴尬的三个星期
    解决一般图匹配的带花树算法
    【Linux常用工具】03. Linux性能测试工具ab
    hdu 1176 免费馅饼(nyist 613)
    删除系统更新后留下的文件夹
    zoj 1109 : Language of FatMouse
    设计模式之Inheritance versus Parameterized Types 继承和参数化类型
    hibernate的查询缓存和二级缓存的配合使用
  • 原文地址:https://www.cnblogs.com/Green-/p/7872560.html
Copyright © 2011-2022 走看看