GET和POST提交方式
本文章是通过学习《网易云python全栈工程师》课程的笔记
GET提交数据方式
在服务器端通过request对象接收数据
request.args.get(‘uersname’)
request.args.get(‘password’)
request.method属性值为本次提交数据的方式
如果用url的方式提交数据,需要在@app.route(’/’)里添加methods=[‘get’,‘post’]
@app.route('/login',methods=['post','get'])
def login():
username = request.args.get("username")
password = request.args.get("password")
print(username,password)
return render_template("03.9登录.html")
切记要导入request包
from flask import request
网址美化
http://127.0.0:5000/?uersname=luxp&password=123456 (比较难看,权重低)
http:127.0.0.1:5000/luxp/123456/(像path路径一样,容易被搜索引擎喜欢,权重高)
第二种方式需要现在路由定义(即@app.route())这样的话,还可以省下request.args.get()
@app.route('/login/<username>/<password>/')
def login(username,password):
print(username,password)
return render_template("03.9登录.html")
GET方式最大的问题就是不安全,容易给人知道账号密码
POST提交方式:post的数据是在http访问连接里进行数据提交的
表单元素提交
form表单里的两个属性:
action属性:数据提交到哪个地址
methods:数据提交方式,是post还是get,默认是get方式
还有路由配置post方式
request.form
request.value
@app.route('/login',methods=['get','post'])
def login():
username = request.args.get(“username”)
password = request.args.get(“password”)
if request.method == "POST":
username = request.form['username']
password = request.form['password']
print(username,password)
return render_template("03.9登录.html")
设置if让用户如果通过post方式提交才可以运用该程序