flask关于前端与后端使用WTForm交互问题以及其他问题杂笔(python 3)
后端–>前端:
1. 引用
from flask_wtf import Form
from wtforms import StringField,PasswordField
使用的类型还有一些,有更多需要可以再搜索下,简单使用StringField基本够用
2.定义form函数
class LogInForm(Form):
user=StringField('用户名')
password=PasswordField('密码')
message=TextField('显示信息')
3.传递数据
def log_in():
form=LogInForm(request.form)
#账户信息不应该是后端传递给前端的,一般是查询,
#这里只是便于理解如何给form类型赋值,取值。
form.user.data='root'
form.password='123456'
(账号登录后端处理前端返回的数据需要连接数据库,贴出代码也无法使用,等我做完后会上传全部代码,希望各位大佬再指点。)
前端–>后端
以下三项是html文件代码
1,form包含
<form action="" method="post" name="view_bulletin" enctype="multipart/form-data">
#内容
</form>
2,传递信息需要包含以下代码段,如果只是点击按钮跳转,不提交任何信息可以不加
{{form.hidden_tag()}}
3,前端与后端连接的数据字段
<div>
欢迎登录!
{{form.message.data}}
</div>
<div>
{{form.user}}
</div>
<div>
{{form.password}}
账号登录最简单html代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>教务系统登录</title>
</head>
<body>
<form action="" method="post" name="view_bulletin" enctype="multipart/form-data">
{{form.hidden_tag()}}
<div>
欢迎登录!
{{form.message.data}}
</div>
<div>
{{form.user}}
</div>
<div>
{{form.password}}
</div>
<input type="submit" value="登录">
</form>
</body>
</html
使用WTForm无法处理全部信息,适合处理数据块,一些非常简单的信息没必要使用,可以直接使用上下文,简单。
写项目遇到的比较烦人的问题:
- 为了账户安全,什么类型账户处理什么类型数据,防止越权处理,使用会话上下文处理
引用
from flask import session
app.secret_key='SET_ME_BEFORE_USE_SESSION'
赋值,取值
#赋值
session['user']='root'
#取值
root=session.get('user')
- 一个页面只需要点击按钮就可以跳转,前端不传递数据。
使用直接提交表单,不用WTForm。
前端代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>admin</title>
</head>
<body>
<form action="" method="post" name="view_bulletin" enctype="multipart/form-data">
<input type="submit" value="one" name="1">
<input type="submit" value="two" name="2">
<input type="submit" value="three" name="3">
</form>
</body>
</ht
重点!重点!重点!
input代码段一定要放在form中!!!要不然不会提交!!!
后端代码
def admin():
if '1' in request.form:
print('点击的是name为'1'的按钮')
python3的话不要使用:
def admin():
if request.form.has_key('1'):
print('点击的是name为'1'的按钮')
python2好像可以使用,python3一定不可以使用!!!
使用flask制作教务系统毕业论文-------杂笔一
有什么问题可以评论交流