利用flask框架实现对用户的注册登录
------------------------------------(分割线)-----------------------------------------------------------------------------------------------------------
项目环境: 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>用户名: </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>用户名: </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框架实现对用户的注册登录的更多相关文章
- 利用mvc模式,实现用户的注册
实现功能:利用mvc模式,实现用户的登陆注册功能 1.程序的框架结构 2个包,bean,以及servlet 3个jsp页面,注册页面,注册成功页面,注册失败页面 mysql驱动 2.编程思想 通过js ...
- Node.js基于Express框架搭建一个简单的注册登录Web功能
这个小应用使用到了node.js bootstrap express 以及数据库的操作 :使用mongoose对象模型来操作 mongodb 如果没了解过的可以先去基本了解一下相关概念~ 首先注 ...
- node.js+mysql用户的注册登录验证
下面代码实现的功能是:用node.js连接mysql实现用户的注册和登录,这里主要实现的是后端的验证代码,前端显示部分没具体写出. 整个程序的流程是这样的: 1.首先建立数据库reji,数据表user ...
- 利用flask将opencv实时视频流输出到浏览器
opencv通过webcam可以获取本地实时视频流,但是如果需要将视频流共享给其他机器调用,就可以将利用flask框架构建一个实时视频流服务器,然后其他机器可以通过向这个服务器发送请求来获取这台机器上 ...
- 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(五)——实现注册功能
使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化 使用 Flask 框架写用 ...
- 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(四)——对 run.py 的调整
使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化 使用 Flask 框架写用 ...
- 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用
使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化 使用 Flask 框架写用 ...
- 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化
使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化 使用 Flask 框架写用 ...
- 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(三)——使用Flask-Login库实现登录功能
使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化 使用 Flask 框架写用 ...
随机推荐
- Docker(33)- 如何修改 docker 容器的端口映射
如果你还想从头学起 Docker,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1870863.html 问题背景 docker run ...
- 深入 理解char * ,char ** ,char a[ ] ,char *a[] 的区别(转)
C语言中由于指针的灵活性,导致指针能代替数组使用,或者混合使用,这些导致了许多指针和数组的迷惑,因此,刻意再次深入探究了指针和数组这玩意儿,其他类型的数组比较简单,容易混淆的是字符数组和字符指针这两个 ...
- JAVA注解的继承性
摘要 本文从三个方面介绍java注解的**"继承性"**: 基于元注解@Inherited,类上注解的继承性 基于类的继承,方法/属性上注解的继承性 基于接口的继承/实现,方法/属 ...
- [原题复现+审计][网鼎杯 2018] WEB Fakebook(SSRF、反序列化、SQL注入)
简介 原题复现: 考察知识点:SSRF.反序列化.SQL注入 线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 过 ...
- Vue知识点回顾(一)
一.什么是vue? Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不 ...
- 面试阿里,首先要掌握的 Java 泛型,帮你一次性搞懂!
引言 泛型是Java中一个非常重要的知识点,在Java集合类框架中泛型被广泛应用.本文我们将从零开始来看一下Java泛型的设计,将会涉及到通配符处理,以及让人苦恼的类型擦除. 泛型基础 泛型类 我们首 ...
- zabbix的搭建及操作(1)server-client架构
实验环境 Server端 Centos7:192.168.10.10 server.zabbix.com 可连外网 Agent 端 Centos7:192.168.10.20 ...
- 【PYTEST】第三章参数化
知识点: 参数化 1. parametrize() 参数化测试用例 实际工作中,我们不可能就传一组数据,参数化支持多组数据测试,并且每组都会去执行,parametrize(), 第一个参数用逗号开分隔 ...
- ECS服务器快速迁移
ECS服务器快速迁移 前提 一.停机 二.创建镜像 三.复制镜像 前提 服务器都在同一个区域,举例:华南1(深圳) 同一个账号 具体迁移步骤如下: 一.停机 先从阿里云ECS控制台,将要迁移的两台EC ...
- C语言讲义——头文件
头文件.h Dev C++可以建C项目,也可以建C++项目,下面分C和C++两种情况讨论. c.h C语言中,头文件往往不是必须的,只是描述性的文件. 因此,C项目中可以没有.h文件. cpp.h 下 ...