文章目录

  • 1.文件结构:
  • 2.实验效果:
  • 3.主文件mani.py:
  • 4.前端页面文件:index.html
  • 5.显示登录成功的前端:login_success.html:

1.文件结构:

2.实验效果:


如果数据库中存在了此用户,则登录成功。

3.主文件mani.py:

import os
from flask_wtf import FlaskForm
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import String,Integer,Column,and_
from sqlalchemy.ext.declarative import declarative_base
from wtforms.validators import EqualTo,DataRequired,Length
from flask import Flask,redirect,render_template,request,url_for,jsonify
from wtforms import StringField,SubmitField,TelField,DateField,PasswordFieldapp=Flask(__name__)
app.secret_key='Login'class LoginForm(FlaskForm):username=StringField(label='账号: ',validators=[DataRequired(),Length(min=6,max=8)])password=PasswordField(label='密码: ',validators=[DataRequired(),Length(min=6,max=12)])password_2=PasswordField(label='确认密码: ',validators=[DataRequired(),Length(min=6,max=12),EqualTo('password')])submit=SubmitField(label='提交')class Config:"""相关配置"""# cmd:# 创建数据库:create database flaskdb(数据库名) default charset(类型) utf8;# 使用数据:use flaskdb# 查看数据库表:show tables;SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:root@127.0.0.1:3306/flaskdb'SQLALCHEMY_TRACK_MODIFICATIONS = Trueapp.config.from_object(Config)
mysql=SQLAlchemy(app)class LoginTables(mysql.Model):__tablename__='UserTable'username=Column(String(128),primary_key=True)password=Column(String(128),unique=True)password_2=Column(String(128),unique=True)@app.route('/<string:username>/<string:password>/<string:password_2>')
def Insert_User(username,password,password_2):data=LoginTables.query.filter(and_(LoginTables.username==f"'{username}'",LoginTables.password==f"'{password}'")).all()if data==[]:#创建用户new_user=LoginTables(username=username,password=password,password_2=password_2)#添加用户和提交mysql.session.add(new_user)mysql.session.commit()#关闭sessionmysql.session.close()return jsonify('Add User Successed!')else:return jsonify('The User Have Been Existed!')@app.route('/index',methods=['POST','GET'])
def index():login=LoginForm()if request.method=='POST':if login.validate_on_submit():username=login.username.datapassword=login.password.datapassword_2=login.password_2.dataprint('username: {}'.format(username))print('password: {}'.format(password))print('password_2: {}'.format(password_2))data=LoginTables.query.filter(LoginTables.username==f"{username}").all()if data==[]:return redirect(url_for('Insert_User',username=username,password=password,password_2=password_2))else:return render_template('login_success.html')return render_template('index.html',login=login)if __name__ == '__main__':print('Pycharm')mysql.create_all()app.run(debug=True)

4.前端页面文件:index.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Login</title><style>div {width:250px;height:150px;margin:auto;margin-top:200px;font-size:15px;font-weight:700;border:2px solid #000000;background:#FFFFFF;}</style>
</head>
<body><div><form action="http://127.0.0.1:5000/index" method="POST">{{login.csrf_token()}}<br>{{login.username.label}}{{login.username}}<br>{{login.password.label}}{{login.password}}<br>{{login.password_2.label}}{{login.password_2}}<br>{{login.submit}}</form></div></body>
</html>

5.显示登录成功的前端:login_success.html:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Login_Success</title><style>img {width:1500px;height:700px;}</style>
</head>
<body><img src="http://127.0.0.1:5000/static/login_success.png" title="登录成功" alt="登录成功">
</body>
</html>

flask-WTF和sqlalchemy结合使用并实现前端页面登录(综合使用)相关推荐

  1. flask wtf用的多吗_WTF是Docker吗?

    flask wtf用的多吗 Docker和Docker英文简要说明 内容: 什么是码头工人? 在Docker中部署Node.js应用 什么是docker compose以及如何使用? 什么是Docke ...

  2. flask从服务器获取html页面,flask的ajax、获取服务器数据、放到前端页面、如果数据存在显示标签、如果不存在不显示标签...

    -------------------------------------第一部分----------------------------------------------------------- ...

  3. Flask初识,第五篇 ,做一个用户登录之后查看学员信息的小例子

    Flask最强攻略 - 第五篇 做一个用户登录之后查看学员信息的小例子 需求: 1. 用户名: oldboy 密码: oldboy123 2. 用户登录成功之后跳转到列表页面 3. 失败有消息提示,重 ...

  4. 【Python】Flask框架系列(一):安装、页面跳转/重定向、模板、逻辑语句、过滤器、继承/使用block、url链接/加载静态资源

    从下载安装开始的所有笔记. 其实 Flask 的示例程序算是 MVC 模式的. Model 是 ORM, V 是 Template, C 是 url route 和 request handler. ...

  5. Flask Web开发入门(一)之简单的登录验证

    Flask is a microframework for Python based on Werkzeug, Jinja 2 and good intentions. 我们的目标是通过Flask实现 ...

  6. flask后台管理系统快速开发案例之bootstrap搭建前端页面框架

    这次为了给大家来一次较为完整的flask知识的分享,于是乎,我干脆直接写一个较为全面的,从前端到后端均自定义的基于flask的后台管理项目,先给大家看一下本次项目的效果图: 因为是示范版的,比较简洁, ...

  7. flask + 蓝图 用 sqlalchemy 对 mysql 进行 增删查改 的 demo

    main.py import uuid # UUID: 通用唯一标识符 # from flask import Flask from flask import Flask, request, json ...

  8. 【Flask项目】sqlalchemy原生sql查询,返回字典形式数据

    在原生sql查询的时候,返回一个list,内部是tuple,他们看似是tuple,实则并不是 而是一个特殊的类型"<class 'sqlalchemy.util._collection ...

  9. Flask入门之SQLAlchemy数据库连接操作(第15讲)

    一.库安装 Flask-SQLAlchemy 2 SQLAlchemy 1.0.8 二.进入venv 三.切换到项目Sample\ 文件夹,进入manager.py 的shell python man ...

最新文章

  1. 【html】如何解决标签设置成超链接后字体格式及颜色变化的问题
  2. 使用Python部署机器学习模型的10个实践经验
  3. java 调内存_java内存设置
  4. 献给写作者的 Markdown 新手指南
  5. /dev/null 2>1 详解
  6. Guru of the Week 条款01: 变量的初始化
  7. Application log debug - storage
  8. Win10 Terminal + WSL 2 安装配置指南,精致开发体验
  9. λ演算的语法和语义_λ和副作用
  10. 我用 Python 集齐了支付宝五福!
  11. 股票点买3.0交易系统接口设计思路
  12. 手动批量下载ts文件并合并
  13. 办公室学什么计算机,(计算机)办公室文员、助理都可以学学,留着迟早用得着
  14. js【点击 div 2s 后颜色变成『粉色」】
  15. openmp crunching
  16. 阿里云盘已经正式开放(获得1T永久免费空间,25MB/s下载速度)
  17. Openstack日常运维
  18. 外星人入侵小游戏十二章十三章实现
  19. python如何截长图_selenium定时爬取长截图
  20. php adb手机型号,使用adb命令操控Android手机

热门文章

  1. JUC AQS ReentrantLock源码分析
  2. 操作系统学习:启动进入实模式
  3. Python设计模式-外观模式
  4. 美多商城之用户中心(添加和验证邮箱)
  5. ACMNO.24 C语言-转置矩阵 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。 输入 一个3x3的矩阵 输出 转置后的矩阵 样例
  6. 两大图像处理库Halcon和Opencv 的对比
  7. 初学数据结构--链表
  8. Go 公布 2.0 设计草案:主打规模化和扩展性,支持泛型
  9. 学习笔记CB013: TensorFlow、TensorBoard、seq2seq
  10. Linux(Windows)下如何改变网卡的LinkSpeed工作模式