python制作系统程序与html交互_python+html语音人物交互_flask后台与前端(html)交互的两种方法...
基于python flask框架搭建web
flask后台与前端(html)交互的两种方法:
方法1 使用flask-wtf 提供的表单
用常见的登录为例:
// An highlighted block
from flask_wtf import Form
class LoginForm(Form): # 登录表单
ROLE = SelectField('角色', choices=[('s', '管理员'), ('n', '用户')], render_kw={"placeholder": "输入你的用户名", "sty"
"le": "background:url(/static/user."
"png) no-repeat 15px center;t"
"ext-indent: 28px"})
email = StringField('', validators=[Required(), Length(1, 64),
Email()], render_kw={"placeholder": "请输入邮箱",
"style": "background:url(/static/email"
".png) no-repeat 15px center;"
"text-indent: 28px"})
password = PasswordField('', validators=[Required()], render_kw={"placeholder": "输入你的密码", "style": "back"
"ground:url(/static/password.pn"
"g) no-repeat 15px center;text-"
"indent: 28px"})
verify_code = StringField('', validators=[Required()], render_kw={"placeholder": "验证码", "style": "back"
"ground:url(/static/password.pn"
"g) no-repeat 15px center;text-"
"indent: 28px"})
remember_me = BooleanField('记住密码')
submit = SubmitField('登录')
视图函数定义的路由(后台处理程序):
@auth.route('/login', methods=['GET', 'POST']) # 登陆路由
def login():
form = LoginForm()
if form.validate_on_submit():
user = User.query.filter_by(email=form.email.data).first()
if session.get('image').lower()!=form.verify_code.data.lower():
flash('验证码错误')
return render_template('auth/login.html', form=form)
if user is not None and user.verify_password(form.password.data) and (user.ROLE == form.ROLE.data): # user.ROLE == form.ROLE.data:
login_user(user, form.remember_me.data)
return redirect(request.args.get('next') or url_for('main.index'))
flash('邮箱或者密码错误,请检查后再试.')
return render_template('auth/login.html', form=form)
与html模板:
// An highlighted block
{% extends "base.html" %}
{% import "bootstrap/wtf.html" as wtf %}
{% block title %}Flasky - Login{% endblock %}
{% block page_content %}
登录
{{ wtf.quick_form(form) }}
{% endblock %}
结果如图:
方法2 直接使用HTML中的form
html代码如下:Purple_loginform Website Template | Home :: w3layouts
Login Form
python制作系统程序与html交互_python+html语音人物交互_flask后台与前端(html)交互的两种方法...相关推荐
- python解压加密zip文件_Python:解压缩前检测一个zip文件否为加密,两种算法。
前一篇文章介绍了如何用python自动解压缩加密的zip文件, 但是有一个问题,在服务器端脚本在解加密zip文件之前,需要检测其是否是加密文件,若是,则询问密码,结合密码解压缩:如果不是,则则直接解压 ...
- python给定一个整数n、判断n是否为素数_python判断所输入的任意一个正整数是否为素数的两种方法...
素数(也称质数),是指除了1和该数本身,不能被任何正整数整除的正整数.判断一个正整数m是否为素数,只要判断m可否被2~根号m之中的任何一个正整数整除,如果m不能被此范围中任何一个正整数整除,m即为素数 ...
- python箭头向下怎么变_实现点击下箭头变上箭头来回切换的两种方法【推荐】
我所知道的常用的就这两种. 第一种:说明一下我用的是fontawesome字体,首先要去官网下载来用 我用的是bootstrap,所以hidden是自带的,上面的初始状态就是下箭头angle-down ...
- python怎么清屏_python实现清屏的方法 Python Shell中清屏一般有两种方法。
Python Shell 怎样清屏? Python Shell中清屏一般有两种方法. 奈何一个人随着年龄增长,梦想便不复轻盈:他开始用双手掂量生活,更看重果实而非花朵.--叶芝<凯尔特的搏暮&g ...
- python字符串成熟编码_python字符串转公式两种方法获取网页编码python版
在web开发的时候我们经常会遇到网页抓取和分析,各种语言都可以完成这个功能.我喜欢用python实现,因为python提供了很多成熟的模块,可以很方便的实现网页抓取. 但是在抓取过程中会遇到编码的问题 ...
- python 获取csv的列数_Python读取excel的两种方法
excel是什么 Microsoft Excel是一个使用非常广泛的电子表格程序.它的用户友好性和吸引人的功能使其成为数据科学中常用的工具.对于excel来说,整个excel文件称为工作簿,工作簿中的 ...
- python字典取值_python 字典中取值的两种方法小结
python 字典中取值的两种方法小结 如下所示: a={'name':'tony','sex':'male'} 获得name的值的方式有两种 print a['name'],type(a['name ...
- python 修改文件创建时间_python 两种方法修改文件的创建时间、修改时间、访问时间...
突如其来想知道一下 python 如何修改文件的属性(创建.修改.访问时间),于是就去网上搜集了可行方案,也就有了这篇博客 方案一 from win32file import CreateFile, ...
- python安装gdal包_python安装gdal的两种方法
1.不用手动下载文件,直接执行以下命令即可 conda install gdal 2.首先,下载gdal的whl文件 链接, 官网下载比较慢,GDAL-2.2.4-cp27-cp27m-win_am ...
最新文章
- 运行shell命令并捕获输出
- PyTorch随笔-5
- Unity内实现Android APK版本更新
- 需求分析阶段各种图的功能
- Modbus通信协议之CRC16冗余循环校验函数
- X命名空间-标记扩展
- 在ASP.NET中如何运行后台任务
- java链表的用法_数据结构(java语言描述)链表的使用
- 科大讯飞:讯飞输入法日语音交互次数超10亿,将发力5G和AIoT领域
- linux虚拟机怎么恢复出厂设置_Vmware安装linux后一些初始化配置
- 安信三级分销商城系统源码 带有安装介绍
- 【宠物领养系统项目】(附源码)
- windows安全中心接口
- 实施整体变更控制-管理过程
- IT培训分享:11种热门编程语言的主要用途
- 输出边长为n的正六边形(c语言)
- DSP28335 eCAP 测频
- Springboot 通过Jedis-clients 操作Redis
- 【吐血整理】数据库的完整性
- Unity 视频播放
热门文章
- java与java ee_Java EE拦截器
- java处理注释_如何处理Java注释
- java 单元测试技巧_其他一些单元测试技巧
- jenkins部署java_在Window上使用Jenkins自动部署和上传快照Java工件
- junit 5测试异常处理_在JUnit中处理异常的3种方式。 选择哪一个?
- 简单的测试可以防止最严重的故障
- hash和hashcode_Hibernate事实:等于和HashCode
- 将测微仪与Spring Boot 2一起使用
- 使用Docker构建Oracle ADF应用程序
- spring tiles_Spring MVC 3模板和Apache Tiles