完成注册功能
2017-11-18 21:49 019王泽 阅读(183) 评论(0) 收藏 举报- js文件: onclick函数return True时才提交表单,return False时不提交表单。
- html文件:
- <form>中设置 action和method="post"
- <input> 中设置 name
- 主py文件中:
- from flask import request, redirect, url_for
- @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 %}
浙公网安备 33010602011771号