代码改变世界

完成注册功能

2017-11-18 21:49  019王泽  阅读(183)  评论(0)    收藏  举报
  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 from flask import Flask, render_template,url_for,redirect,request
 2 from flask_sqlalchemy import SQLAlchemy
 3 
 4 import config
 5 
 6 app = Flask(__name__)
 7 app.config.from_object(config)
 8 db = SQLAlchemy(app)
 9 
10 
11 class User(db.Model):
12     __tablename__ = 'user'
13     id = db.Column(db.Integer, primary_key=True, autoincrement=True)
14     username = db.Column(db.String(20), nullable=False)
15     password = db.Column(db.String(20), nullable=False)
16     nickname = db.Column(db.String(20))
17 
18 
19 @app.route('/')
20 def myweb():
21     return render_template("myweb.html")
22 
23 
24 @app.route('/login/')
25 def login():
26     return render_template("login.html")
27 
28 
29 @app.route('/regist/',methods=['GET','POST'])
30 def regist():
31     if request.method=='GET':
32         return render_template("regist.html")
33     else:
34         username = request.form.get('username')
35         password = request.form.get('password')
36         nickname = request.form.get('nickname')
37         user = User.query.filter(User.username==username).first()
38         if user:
39             return ' 用户名已存在'
40         else:
41             user = User(username=username, password=password,nickname=nickname)
42             db.session.add(user)#数据库,添加操作
43             db.session.commit()
44             return redirect(url_for('login'))
45 
46 @app.route('/question/')
47 def question():
48     return render_template("question.html")
49 
50 
51 if __name__ == '__main__':
52     app.run(debug=True)
 1 {% extends'myweb.html' %}
 2 {% block registtitle %}注册页面{% endblock %}
 3 {% block registhead %}
 4     <link rel="stylesheet" type="text/css" href="../static/css/component.css"/>
 5     <script src="../static/js/regist.js"></script>
 6 {% endblock %}
 7 {% block registbody %}
 8     <div class="logo_box">
 9         <h3 style="text-align: center">欢迎你</h3>
10         <form action="{{ url_for('regist') }}" method="post" >
11             <div class="input_outer">
12                 <span class="u_user"></span>
13                 <input id="uname" class="text" style="color: wheat" type="text" placeholder="请输入账号" name="username">
14             </div>
15             <div class="input_outer">
16                 <span class="u_user"></span>
17                 <input id="unickname" class="text" style="color: wheat" type="text" placeholder="请输入昵称"
18                        name="nickname">
19             </div>
20             <div class="input_outer">
21                 <span class="us_uer"></span>
22                 <input id="upass" class="text" style="color:wheat ; position:absolute; z-index:100;"
23                        value="" type="password" placeholder="请输入密码" name="password">
24             </div>
25             <div class="input_outer">
26                 <span class="us_uer"></span>
27                 <input id="upass1" class="text" style="color:wheat ; position:absolute; z-index:100;"
28                        value="" type="password" placeholder="请再次输入密码">
29             </div>
30             <div class="errorText" id="error_box" style="color: red"><br></div>
31             <div>
32                 <button  class="lb1" style="color:black" type="submit" onclick="return fnRegist()">注册</button>
33             </div>
34         </form>
35     </div>
36 {% endblock %}