完成注册功能
- js文件: onclick函数return True时才提交表单,return False时不提交表单。
- html文件:
- <form>中设置 action和method="post"
- <input> 中设置 name
<div class="box"> <h1>注册</h1> <form action="{{ url_for('zhuce') }}" method="post"> <div class="input_box"> <input id="name" type="text" placeholder="请输入用户名" name="username"> </div> <div class="input_box"> <input id="phone" type="text" placeholder="昵称" name="userphone" name="nickname"> </div> <div class="input_box"> <input id="phone" type="text" placeholder="手机号" name="userphone"> </div> <div class="input_box"> <input id="pass" type="password" placeholder="请输入密码" name="password"> </div> <div class="input_box"> <input id="passcom" type="password" placeholder="请再次输入密码"> </div> <div id="error_box"><br> </div> <div class="input_box"> <button onclick="fnLogin()">注册</button> </div> </form> </div>
- 主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重定向到登录页
from flask import Flask, render_template, request, redirect, url_for, 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) db.create_all() @app.route('/zhuce',methods=['GET','POST']) def zhuce(): if request.method == 'GET': return render_template('zhuce.html') else: username = request.form.get('username') nickname = request.form.get('nickname') userphone = request.form.get('userphone') password = request.form.get('password') user = User.query.filter(User.username == username).first() if user: return 'username existed' else: user = User(username=username, nickname=nickname, userphone=userphone,password=password) db.session.add(user) db.session.commit() return redirect(url_for('deng'))