位置: IT常识 - 正文

python Web开发 flask轻量级Web框架实战项目--实现功能--账号密码登录界面(连接数据库Mysql)(python web开发方向的第三方库有哪些)

编辑:rootadmin
python Web开发 flask轻量级Web框架实战项目--实现功能--账号密码登录界面(连接数据库Mysql)

推荐整理分享python Web开发 flask轻量级Web框架实战项目--实现功能--账号密码登录界面(连接数据库Mysql)(python web开发方向的第三方库有哪些),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python web开发从入门到精通,python web开发前景,python web开发基础教程,python web开发方向的第三方库,python web开发从入门到精通,python web开发基础教程(django)版pdf,python web开发基础教程(django)版pdf,python web开发基础教程(django)版pdf,内容如对您有帮助,希望把文章链接给更多的朋友!

ps:各位好久不见,我回家了!终于有时间把之前的一些东西整理一下了(好吧,之前是我太懒了),今天分享一个功能简单的python web实战项目,后期功能可自行丰富。

先看效果

 输入正确用户名和密码即可登录成功(下图为存放数据的表单)

 

 正文一、导入模块from flask import Flask, render_template, requestimport pymysql二、创建web程序,连接数据库app = Flask(__name__)def get_conn(): # 建立与mysql连接 conn = pymysql.connect(host="localhost", user="root", password="root", db="tmp", charset="utf8") # c创建游标A cursor = conn.cursor() return conn, cursor

localhost: 本机数据库。

user:设置的数据库用户名。

password:数据库密码,,默认情况下是root,如果后期自己修改了则改为相应的即可。

python Web开发 flask轻量级Web框架实战项目--实现功能--账号密码登录界面(连接数据库Mysql)(python web开发方向的第三方库有哪些)

db:所要连接的数据库名称。 

1.关闭模块(关闭数据库连接,关闭游标)

代码如下:

def close_conn(conn, cursor): # 关闭模块 if cursor: cursor.close() if conn: conn.close()2.查询模块(用于从数据库中查询信息)

代码如下:

def query(sql, *args): # 查询模块 conn, cursor = get_conn() cursor.execute(sql, args) res = cursor.fetchall() conn.commit() close_conn(conn, cursor) return resdef get_user(username, password): # 从数据库中查询用户名和密码 sql = "select id from sys_user where username= '" + username + "' and password= '" + password + "'" res = query(sql) return res

sys_user:存放用户名和密码的表。

 三、写一个函数来处理浏览器发送过的请求,请求到/是自动执行这个函数。@app.route('/') # 必须加上路由,否则访问和函数没有关联,当访问到127.0.0.1:5000/,执行函数def index(): return render_template('login.html')@app.route('/login', methods=['post'])def login(): username = request.form.get('username') # 接收form表单传参 password = request.form.get('password') res = get_user(username, password) if res: return render_template('xxx.html',msg='登陆成功') else: return render_template('login.html', msg='登录失败')

 登陆成功后进入xxx页面,登陆失败留在本页面并给出提示。

登陆界面为表单传参,这里用到POST请求。

在HTTP协议的请求类型里:

GET:从服务器端获取资源或数据

POST:向服务器端提交数据

GET请求发送数据的时候,一般会将请求数据放在url字符串中发送给服务器端,所以从安全性角度来看相对没有POST请求安全性高,所以GET请求一般不会用于比较隐私数据的传输,而POST请求是将请求数据放在请求body里面,所以一般用于表单数据,登陆数据等数据的传输。

四、启动应用程序if __name__ == '__main__': # 固定的写法,程序的入口 app.run() # 启动应用程序, 五、完整代码myflask.pyfrom flask import Flask, render_template, requestimport pymysql# 创建web应用程序app = Flask(__name__)def get_conn(): # 建立与mysql连接 conn = pymysql.connect(host="localhost", user="root", password="root", db="tmp", charset="utf8") # c创建游标A cursor = conn.cursor() return conn, cursordef close_conn(conn, cursor): # 关闭模块 if cursor: cursor.close() if conn: conn.close()def query(sql, *args): # 查询模块 conn, cursor = get_conn() cursor.execute(sql, args) res = cursor.fetchall() conn.commit() close_conn(conn, cursor) return resdef get_user(username, password): # 从数据库中查询用户名和密码 sql = "select id from sys_user where username= '" + username + "' and password= '" + password + "'" res = query(sql) return res# 写一个函数来处理浏览器发送过的请求,请求到/是自动执行这个函数@app.route('/') # 必须加上路由,否则访问和函数没有关联,当访问到127.0.0.1:5000/,执行函数def index(): return render_template('login.html')@app.route('/login', methods=['post'])def login(): username = request.form.get('username') # 接收form表单传参 password = request.form.get('password') res = get_user(username, password) if res: return render_template('game.html',msg='登陆成功') else: return render_template('login.html', msg='登录失败')if __name__ == '__main__': # 固定的写法,程序的入口 app.run() # 启动应用程序,前端页面代码 (需要可自行拿,记得点个赞谢啦)<!DOCTYPE html><html><head> <meta charset="utf-8" /> <title>登陆界面</title> <link rel="icon" href="https://www.yuucn.com/wp-content/uploads/2023/04/1682392244-33c8673d517ac35.ico"> <style> li { list-style: none; } body { margin: 0; padding: 0; box-sizing: border-box; background-image: url(static/img/鹿3.jpg); /* background-image: url(/static/img/1.jpg); */ background-repeat: no-repeat; /*这里的100% auto 表示将背景图片的长度100%显示,高度自适应*/ background-size: 100% auto; } #maxbox { margin: 0 auto; margin-top: 200px; padding: 20px, 50px; /*这里的90表示以不透明度90%显示*/ background-color: #00000090; text-align: center; width: 600px; height: 400px; border-radius: 10px; } #maxbox h1 { padding: 0; padding-top: 60px; color: white; font-size: 30px; padding-bottom: 4px; border-bottom: solid 1px white; } #maxbox h2 { font-weight: 700; color:white; } #maxbox .inputbox { margin-top: 30px; } #maxbox .inputText { margin-top: 20px; } #maxbox .inputText span { color: white; font-size: 18px; } #maxbox .inputText input { border: 0; padding: 6px; border-bottom: 1px solid white; /*这里的00表示不透明度为0,即透明显示*/ background-color: #FFFFFF00; color: white; } #maxbox .inputbox .inputButton { margin: 0; border: 0; margin-top: 20px; width: 145px; height: 25px; /*给这个按钮变为圆角边角*/ border-radius: 25px; color: white; background-color: #3498db; } #sign_up { margin-top: 50px; color: white; font-size: 17px; } #sign_up a { color: #3498db; } </style></head><body> <div id="maxbox"> <h1>登陆界面</h1> <h2>请登录</h2> <div class="inputbox"><!-- <form name="frm" action="" method="post">--> <form action="/login" method="post">--> <div class="inputText"> <span class="iconfont icon-mine"></span> <input class="username" type="text" placeholder="用户名" name="username" style="color:while" /> </div> <div class="inputText"> <span class="iconfont icon-lock"></span> <input type="password" placeholder="密码" name="password" style="color:white" /> <br> <input class="remember" name="remember" type="checkbox" value="" checked="checked"> <span style="color:rgb(255, 255, 255)">记住我</span> </div> <input class="inputButton" type="submit" value="登录" /> {{msg}} </form> </div> </div></body></html>总结

以上就是今天要分享的内容,python+web+flask轻量级框架的实战小项目。后续功能可以自行丰富,原理都是类似的。

本文链接地址:https://www.jiuchutong.com/zhishi/299804.html 转载请保留说明!

上一篇:从傅里叶变换到小波变换详细解释(含代码)(傅里叶变换的过程)

下一篇:MaxENT生态位模型:建模、参数优化、个性化分析(生态位模型原理)

  • 抖音怎么制作滑动图集(抖音怎么制作滑动手动的照片)

  • 拼多多不支持菜鸟驿站吗(拼多多不支持菜鸟驿站吗 拼多多可以放菜鸟驿站吗)

  • 钉钉视频通话怎么横屏

  • 苹果的原彩显示是什么(苹果的原彩显示有什么好处)

  • 小米耳机99和199区别(小米耳机699和799)

  • 苹果11没发票可以保修吗(苹果11没发票可以卖吗)

  • 苹果手机一看视频就发烫怎么办(苹果手机一看视频就发热是怎么回事)

  • 什么构成了internet应用程序的基础(什么构成了internet应用程序的基础用于编写外部网页)

  • 现代微型计算机中采用的电子元器件是(现代微型计算机中所采用的电子器械是)

  • vivo怎么设置网速限制(vivo手机的网络设置在哪儿设置)

  • 3840x2160是多少寸(3840*2160是多少寸)

  • 荣耀8xmax上市时间(荣耀8xmax什么时候出的)

  • 微信群退不了解决方法(微信群退不出去)

  • word文档怎么做封面(word文档怎么做表格)

  • 华为mate30pro怎么删除应用(华为mate30pro怎么恢复出厂设置)

  • 手机浏览器怎么开兼容(手机浏览器怎么恢复以前的浏览记录)

  • 苹果x屏幕是多少k的(苹果x屏幕是多大的)

  • 酷狗音乐如何分享到陌陌(酷狗音乐如何分享到微信朋友圈)

  • vivox27怎么面部解锁(vivox27怎么设置面部识别)

  • 苹果手机怎么取消200m(苹果手机怎么取消震动功能)

  • 磁盘镜像是raid几(磁盘镜像是什么意思)

  • 手机清除数据忘记密码怎么办(手机清除数据忘记账户密码怎么办)

  • c语言可以开发app吗(C语言可以开发什么)

  • AI:人工智能领域AI工具产品集合分门别类(文本类、图片类、编程类、办公类、视频类、音频类、多模态类)的简介、使用方法(持续更新)之详细攻略(《ai人工智能》)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络