位置: 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生态位模型:建模、参数优化、个性化分析(生态位模型原理)

  • 小艺怎么连接wifi(小艺怎么连接电视)

    小艺怎么连接wifi(小艺怎么连接电视)

  • 抖音怎么屏蔽一个人看不到我的作品(抖音怎么屏蔽一个人的艾特消息)

    抖音怎么屏蔽一个人看不到我的作品(抖音怎么屏蔽一个人的艾特消息)

  • 荣耀x10max是否有指纹解锁(荣耀x10maxhz)

    荣耀x10max是否有指纹解锁(荣耀x10maxhz)

  • 微信消息不同步到电脑上为什么(为什么手机和平板微信消息不同步)

    微信消息不同步到电脑上为什么(为什么手机和平板微信消息不同步)

  • 拉黑号码能收到短信吗(拉黑号码收到的拦截信息怎样才能看不到)

    拉黑号码能收到短信吗(拉黑号码收到的拦截信息怎样才能看不到)

  • 微信无法访问照片怎么设置(微信无法访问照片权限)

    微信无法访问照片怎么设置(微信无法访问照片权限)

  • ppt怎么放视频进去

    ppt怎么放视频进去

  • 有路由器就可以上网吗(有路由器就可以看电视吗)

    有路由器就可以上网吗(有路由器就可以看电视吗)

  • 蓝牙耳机不煲机后果(耳机不煲机会怎么样)

    蓝牙耳机不煲机后果(耳机不煲机会怎么样)

  • 免安装版是什么意思(免安装版和安装版哪个好)

    免安装版是什么意思(免安装版和安装版哪个好)

  • 个人能在亚马逊上开店吗(个人在亚马逊网上开店)

    个人能在亚马逊上开店吗(个人在亚马逊网上开店)

  • 苹果手机电话标志没了(苹果手机电话标识)

    苹果手机电话标志没了(苹果手机电话标识)

  • 荣耀20与20s的区别(荣耀20和荣耀20s哪个更值得入手)

    荣耀20与20s的区别(荣耀20和荣耀20s哪个更值得入手)

  • diamond是什么文件夹(diamond是什么意思英语翻译)

    diamond是什么文件夹(diamond是什么意思英语翻译)

  • 手机三角定位原理(如何三角定位手机号)

    手机三角定位原理(如何三角定位手机号)

  • cd rom又称为什么(cdrom又称为什么)

    cd rom又称为什么(cdrom又称为什么)

  • 微博图片上传错误是什么意思(微博图片上传错误3022105是什么意思)

    微博图片上传错误是什么意思(微博图片上传错误3022105是什么意思)

  • 手机无法使用移动网络是什么原因(手机无法使用移动数据是怎么回事)

    手机无法使用移动网络是什么原因(手机无法使用移动数据是怎么回事)

  • a1432是ipad第几代(a1432是ipad第几代是多大屏)

    a1432是ipad第几代(a1432是ipad第几代是多大屏)

  • 抖音企业号有什么功能(抖音企业号有什么权益)

    抖音企业号有什么功能(抖音企业号有什么权益)

  • wps下划线在哪(wps设置下划线)

    wps下划线在哪(wps设置下划线)

  • 苹果手机怎么截长屏(苹果手机怎么截长屏 教程)

    苹果手机怎么截长屏(苹果手机怎么截长屏 教程)

  • 小米5是双卡双待吗(小米5双卡双待怎么用)

    小米5是双卡双待吗(小米5双卡双待怎么用)

  • jkmtl100是什么型号(jkm-l00)

    jkmtl100是什么型号(jkm-l00)

  • qq黑名单在那个位置(qq黑名单在那?)

    qq黑名单在那个位置(qq黑名单在那?)

  • datalayer.exe进程的详细介绍 datalayer进程是什么意思(data.dataloader)

    datalayer.exe进程的详细介绍 datalayer进程是什么意思(data.dataloader)

  • 房产税的计税依据是含税还是不含税
  • 税收分类编码怎么导出来
  • 职工的困难补助计入什么科目
  • 房屋产权出典的由承典人作为房产税纳税义务人
  • 利息收入需要交印花税吗
  • 特殊销售方式下销售额的确定
  • 五险一金账务处理流程图
  • 购电子承兑汇票差额计入什么科目?
  • 小规模企业营业税
  • 零税率发票可以冲成本吗
  • 民办幼儿园怎么给老师交五险一金
  • 社保滞纳金是否影响企业信用等级
  • 附加税记入什么科目
  • 缴纳印花税税会计分录怎么做
  • 销售不动产税务处理
  • 往来款可以作为投资款吗
  • 金蝶kis迷你版操作手册
  • 汇票和本票之间在使用上有什么差别
  • 餐饮服务行业会计分析
  • 百旺开票系统升级后如何恢复
  • 城镇土地使用税税率
  • 收入负数怎么分录
  • 税控专用设备全额抵扣
  • 计提法定盈余公积分录并结转
  • php如何使用session
  • 龙骨花的养殖方法移植
  • 如何利用路由器登陆花生壳
  • PHP:mcrypt_module_get_algo_key_size()的用法_Mcrypt函数
  • 工厂土地被抵押厂房怎么办
  • 债券投资账务处理例题
  • 将资本公积转为实收资本什么变了
  • 开票一定要对公户嘛
  • yolov5map
  • 微信小程序游戏手游排行榜
  • nodejs.org
  • php自定义变量的方法是
  • python如何提取字典中的键
  • python tkinter ttk
  • 人力资源企业税收风险
  • 如何补缴以前年度的税
  • 风险资本生存概率
  • 应交税费中印花税是什么
  • springcloud分布式微服务组件
  • mysql innodb存储结构
  • 收到税务局退税怎么入账
  • 试用产品的账务处理分录
  • 银行开的手续费发票开错了
  • 一次性扣除固定资产出售处理
  • 房屋预售收入
  • 收到海关进口关税怎么办
  • 企业退休返聘人员怎么规避风险
  • 一般纳税人怎样开3个点的专票
  • 专项费用会计分录
  • 房屋租赁合同印花税的税率
  • 支付贷款利息属于筹资活动吗
  • centos怎么看硬盘
  • 映泰主板bios设置内存频率
  • 电脑怎样进入安全模式
  • bios界面如何进入
  • linux如何使用
  • centos下载安装
  • Win10系统如何利用360压缩软件解决打不开RAR压缩包的问题
  • win7系统如何关闭开机自动启动软件
  • win7出现蓝屏怎么办
  • backtracker
  • unity 插件开发
  • fragment的replace方法
  • 批处理 dp0
  • javascript中的类型转换
  • python字符串常用方法
  • auto.js粘贴代码
  • python中执行同一函数3次
  • jquery easing
  • android天气预报课程设计报告
  • 如何在电子税务局签订三方协议
  • 企业分期收款销售商品,即商品已经交付
  • 江苏省国家税务局电话号码
  • 搞农业种植
  • 加工销售如何做账
  • 福建省茶叶协会会长名单
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设