------------------------------------(分割线)-----------------------------------------------------------------------------------------------------------

项目环境: pycharm 2018 专业版  win10 专业版 python 3.7

项目部署截图

前端代码:

regist.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>登录页面练习</title>
<style>
body{
background-color: rgb(217, 235, 250);
} .loginn{
background-color: white;
height: 320px;
width: 240px;
padding: 25px;
margin-top: 150px;
margin-left:60%;
border-radius: 25px;
box-shadow: 4px 4px 8px rgba(0, 0, 0,0.5);
}
.loginn>p{
margin-left: 40%;
margin-top: 10px;
color:black;
font-size: 20px;
} .LOGB{
border-collapse: separate;
border-radius: 15px;
border: 1px solid rgb(167, 160, 160);
text-align: right;
width: 95%;
height: 30px; }
#log1{
text-align: center;
width: 180px;
background-color: rgb(137, 202, 180);
margin-left: 10%;
border-radius: 25px;
outline: none; } .LOGE{
font-size: 10px;
margin-left: 30%;
margin-bottom: 10%;
}
.input2{
outline: none;
border: 0px;
margin-right: 20%; } </style>
</head>
<body> <div class="loginn">
<p>注册</p>
<form action="http://127.0.0.1:5000/rsuccess/", method="post">
<table class="LOGB" cellspacing="0">
<tr>
<td>用户名:&nbsp;</td>
<td><input type="text" placeholder="姓名" class="input2" name="rename"></td>
</tr> </table>
<br>
<table class="LOGB" cellspacing="0" >
<tr>
<td>密码: </td>
<td><input type="password" placeholder="你的密码" class="input2" name="repwd"></td>
</tr>
</table>
<br>
<table class="LOGB" cellspacing="1">
<tr>
<td>+86:</td>
<td><input type="text" maxlength="11" placeholder="手机号码" class="input2" ></td>
</tr> </table>
<br>
<table class="LOGB" cellspacing="0">
<tr>
<td>验证码:</td>
<td><input type="text" style="border:0"class="input2" ></td> </tr>
</table>
<br>
<a href=""><button id="log1">注册</button></a>
<div class="LOGE">
<p><a href="{{ url_for('login_html') }}">已有账号?请登录</a></p>
</div> </form> </div> </body>
</html>

login.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>登录页面练习</title>
<style> body{
background-color: rgb(217, 235, 250); } .loginn{
background-color: white;
height: 320px;
width: 240px;
padding: 25px;
margin-top: 150px;
margin-left:60%;
border-radius: 25px;
box-shadow: 4px 4px 8px rgba(0, 0, 0,0.5);
}
.loginn>p{
margin-left: 40%;
margin-top: 10px;
color:black;
font-size: 20px;
} .LOGB{
border-collapse: separate;
border-radius: 15px;
border: 1px solid rgb(167, 160, 160);
text-align: right;
width: 98%;
height: 40Px;; }
.LOGD{
width: 80%;
height: 35px;
margin-left: 8%;
border-radius: 25px;
background-color: rgb(160, 207, 192);
border: 1px solid wheat;
outline: none;
}
.LOGE{
font-size: 10px;
margin-left: 30%;
margin-bottom: 10%;
}
.input2{
outline: none;
border: 0px;
margin-right: 20%; } </style>
</head>
<body> <div class="loginn">
<p>登录</p>
<br>
<form action="http://127.0.0.1:5000/lsuccess/" method="post">
<table class="LOGB" cellspacing="0">
<tr>
<td>用户名:&nbsp;</td>
<td><input type="text" placeholder="姓名" class="input2" name="username"></td>
</tr> </table>
<br>
<table class="LOGB" cellspacing="0" >
<tr>
<td>密码: </td>
<td><input type="password" placeholder="你的密码" class="input2" name="password"></td>
</tr>
</table>
<br>
<br>
<div class="LOGD">
<a href=""><button class="LOGD" >登录</button></a>
</div>
<br>
<div class="LOGE">
<p>没有账号?<a href="{{ url_for('regist_html') }}">立即注册</a></p>
</div>
</form> </div> </body>
</html>

前端不是我写的,是一位小姐姐写的~~
-------------------------------------------------------------------------------------------------------------------------------

from flask import Flask ,request ,render_template
from flask_sqlalchemy import SQLAlchemy import config
app = Flask(__name__) app.config.from_object(config)
db = SQLAlchemy(app)
#对flask进行一个初始化
#创建一个simple表
class Simple(db.Model):
__tablename__ = 'simple'
id = db.Column(db.Integer ,primary_key=True , autoincrement=True)
user = db.Column(db.String(100), nullable=False,unique=True)
pwd = db.Column(db.CHAR(50) , nullable=False ,unique=True)
db.create_all() @app.route('/')
# -----------------------------------------------------------
def index():
return "这是一个首页" @app.route('/lsuccess/', methods=['post' ,'GET'])
def login():
if request.method == "POST":
user = request.form.get('username')
pwd = request.form.get('password')
if user == Simple.user and pwd == Simple.pwd:
return "参数请求不正常"
else:
result = Simple.query.filter(Simple.user == user and Simple.pwd == pwd).first()
return (" username = %s pwd = %s" %(result.user ,result.pwd))
if request.method != 'get':
return "前端的锅" @app.route('/rsuccess/',methods=['POST' ,'GET'])
def regist_function():
if request.method =="POST":
user = request.form.get('rename')
password = request.form.get('repwd')
simple1 = Simple(user=user, pwd=password)
db.session.add(simple1)
db.session.commit()
return ("注册成功 账号 = %s 密码= %s" % (user, password))
# pass @app.route('/regist/')
def regist_html():
return render_template('regist.html') @app.route('/login/')
def login_html():
return render_template('login.html') if __name__ == '__main__':
app.run(debug = True)

config.py

DIALECT = 'mysql'
DRIVER = 'pymysql'
USERNAME = 'root'
PASSWORD = 'root'
HOST = 'localhost'
PORT = '3306'
DATABASE = 'test'
SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT, DRIVER, USERNAME, PASSWORD, HOST, PORT, DATABASE) SQLALCHEMY_TRACK_MODIFICATIONS = False

建议写后端的人,以后和前端进行拼接任务的,一定要和前端的人商量好,这个页面该怎么怎么跳转,到底是谁来实现。实现之后又是什么样,一定要讨论好,不能讨论不好,上去就开始干。。。。。。前端和后端真是一个相互仇恨的组合,今天让小姐姐加上在注册密码的时候两次密码不一致这个用js可以实现校验的功能,小姐姐看我的眼神就不好了。。。。 逃。。。今天就先记录那么多吧

利用flask框架实现对用户的注册登录的更多相关文章

  1. 利用mvc模式,实现用户的注册

    实现功能:利用mvc模式,实现用户的登陆注册功能 1.程序的框架结构 2个包,bean,以及servlet 3个jsp页面,注册页面,注册成功页面,注册失败页面 mysql驱动 2.编程思想 通过js ...

  2. Node.js基于Express框架搭建一个简单的注册登录Web功能

    这个小应用使用到了node.js  bootstrap  express  以及数据库的操作 :使用mongoose对象模型来操作 mongodb 如果没了解过的可以先去基本了解一下相关概念~ 首先注 ...

  3. node.js+mysql用户的注册登录验证

    下面代码实现的功能是:用node.js连接mysql实现用户的注册和登录,这里主要实现的是后端的验证代码,前端显示部分没具体写出. 整个程序的流程是这样的: 1.首先建立数据库reji,数据表user ...

  4. 利用flask将opencv实时视频流输出到浏览器

    opencv通过webcam可以获取本地实时视频流,但是如果需要将视频流共享给其他机器调用,就可以将利用flask框架构建一个实时视频流服务器,然后其他机器可以通过向这个服务器发送请求来获取这台机器上 ...

  5. 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(五)——实现注册功能

    使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化 使用 Flask 框架写用 ...

  6. 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(四)——对 run.py 的调整

    使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化 使用 Flask 框架写用 ...

  7. 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用

    使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化 使用 Flask 框架写用 ...

  8. 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化

    使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化 使用 Flask 框架写用 ...

  9. 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(三)——使用Flask-Login库实现登录功能

    使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化 使用 Flask 框架写用 ...

随机推荐

  1. Linux下git push、git pull等指令需要输入账号密码 - 免除设置

    打开终端按顺序执行下面的指令: 1.cd ~ 2.touch .git-credentials 3.vim .git-credentials 然后在打开的文件里面输入 https://{usernam ...

  2. tp3.2 前端截取字符串

    在Common目录中建立 function.php <?php function subtext($text, $length) { if(mb_strlen($text, 'utf8') &g ...

  3. 5Flask数据库

    video 43 安装mysql video44 SQLALchemy连接

  4. 使用Selenium爬取京东电商数据(以手机商品为例)

    进入京东(https://www.jd.com)后,我如果搜索特定的手机产品,如oppo find x2,会先出现如下的商品列表页: 如果点击进入其中一个商品会进入到如下图所示的商品详情页,可以看到用 ...

  5. 全文思维导图------redis设计与实现

  6. linux 命令之file

    Linux file命令用于辨识文件类型. 通过file指令,我们得以辨识该文件的类型. 语法 file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...] ...

  7. 1-06-2 Lambda表达式

    last modified:2020/10/31 1-06-3-Lambda表达式 6.3.1 为什么引入lambda表达式 lambda表达式是一个可传递的代码块,可以在以后执行一次或多次. 将一个 ...

  8. ceph的pg平衡插件balancer

    前言 ceph比较老的版本使用的reweight或者osd weight来调整平衡的,本篇介绍的是ceph新的自带的插件balancer的使用,官网有比较详细的操作手册可以查询 使用方法 查询插件的开 ...

  9. python脚本打包成rpm软件包

    前言 软件最终都会有交付的形式,有的是用tar包,有个是以目录,有的是封成一个文件包,从大多数使用场景来说,直接打包成软件包的方式是最简单,也是最不容易出错的,路径可以在包里面写死了 实践 关于打包的 ...

  10. 关于JPA一对一,一对多(多对一),多对多的详解

    一.@OneToOne关系映射 JPA使用@OneToOne来标注一对一的关系. 实体 People :用户. 实体 Address:家庭住址. People 和 Address 是一对一的关系. 这 ...