zoukankan      html  css  js  c++  java
  • 完成注册功能

    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重定向到登录页

    function fnzhuce() {
        var oUname = document.getElementById("uname");
        var oUpass = document.getElementById("upass");
        var oUpass1 = document.getElementById("upass1");
        var oError = document.getElementById("error_box");
        oError.innerHTML = "<br>";
        if (oUname.value.length < 6 || oUname.value.length > 20) {
            oError.innerHTML = "用户名要6-20之位";
            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;
            }
        }
    // oUpass
        if (oUpass.value.length < 6 || oUpass.value.length > 20) {
            oError.innerHTML = "密码要6-20位";
            return;
        }
        else if (oUpass.value !== oUpass1.value) {
            oError.innerHTML = "两次密码不一致";
            return false;
        }
        return true;
        window.alert("注册成功")
    
    }
    {% extends 'daohang.html' %}
    {% block title %}注册{% endblock %}
    {% block head %}
        <link rel="stylesheet" type="text/css" href="{{ url_for('static',filename='css/zhuce.css') }}">
        <script src="{{ url_for('static',filename='js/zhuce.js') }}"></script>
    {% endblock %}
    
    {% block main %}
        <div class="box">
            <h2>注册</h2>
            <form action="{{ url_for('zhuce') }}" method="post">
                <div class="input_box">
                    <input id="uname" type="text" placeholder="请输入用户名" name="username">
                </div>
                <div class="input_box">
                    <input id="upass" type="password" placeholder="请输入密码" name="password">
                </div>
                <div class="input_box">
                    <input id="upass1" type="password" placeholder="请再次输入密码">
                </div>
                <div id="error_box"><br></div>
                <div class="input_box">
                    <button onclick="fnzhuce()">注册</button>
                </div>
            </form>
        </div>
    {% endblock %}
    @app.route('/zhuce/', methods=['GET', 'POST'])
    def zhuce():
        if request.method == 'GET':
            return render_template('zhuce.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('denglu'))
  • 相关阅读:
    UVA1349 Optimal Bus Route Design 最优巴士路线设计
    POJ3565 Ants 蚂蚁(NEERC 2008)
    UVA1663 Purifying Machine 净化器
    UVa11996 Jewel Magic 魔法珠宝
    NEERC2003 Jurassic Remains 侏罗纪
    UVA11895 Honorary Tickets
    gdb调试coredump(使用篇)
    使用 MegaCLI 检测磁盘状态并更换磁盘
    员工直接坦诚直来直去 真性情
    山东浪潮超越3B4000申泰RM5120-L
  • 原文地址:https://www.cnblogs.com/xiaojiaqi/p/7850055.html
Copyright © 2011-2022 走看看