赞
踩
Flask form表单使用
Flask cookie使用
session的使用
在web中form表单最经常使用的一部分,
表单处理中会用request.from的请求,用来提交表单使用。
def get(self):
return render_template("index.html")
def post(self):
username=request.form.get("username")
password=request.form.get("pwd")
if username=='keny88888' and password =="keny88888":
return "用户正确登录"
else:
return '用户或者密码错误!请重新登录!'
app.add_url_rule('/login',view_func=LoginView.as_view('loginview'))
代码中暂时不考虑css的配置,也是可以运行起来。这里没有考虑到刷表单的情况。
考虑刷表单的情况,可以用flask_wtf进行提交
from flask_wtf import Form
如果没有编译过,可以进行pip install flask-wtf安装,启用csrf的保护。
引入form元素父类
from wtfomrs import StringFiled.passwordField
class Login(Form):
name=StringField('name',valuidates[DataRequired(message='用户名不可以为空'),Length(6,16,message='长度在6-16')],render_kw={'placeholder':'输入用户名'}
...
每次提交前都验证一下;
Flask cookie使用,cookie的用法
set_cookie(name,value,expire,path,domain,secure)
2.1设置cookie,response和或者是设置表单头。
@app.route('/')
def set_cookie():
resp=Response("设置Cookie")
resp.set_cookie("username","keny88888",max_age=1800) #60*30 30分钟失效
return resp
#设置后,可以获取get_cookie
@app.route('/get_cookie')
def get_cookie():
if request.cookies.get('username'):
username= request.cookies.get('username') #获取cookie的值;
.....
如果需要删除cookie;可以自己用resp.delete_cookie('username')
Flask的Session是通过加密之后放到Cookie中。加密使用秘钥解密,会用到Secret_key设置24为字符,使用时候设置一个随机字符串
from flask import Flask ,session
import os
app.config['SECRET_KEY']=os.urandom(24) #设置一个随机字符串 ,SECRET_KEY配置#设置有效时间
app.config['permanent_session_lifetime']= timedetla(days=3) #设置3天有效
@app.route('/')
def set_session():
session['username']='keny88888'
reture 'set session ok!'
@app.route('/get_session')
def get_session():
username=session.get('username')
return username #
session.pop('username') #弹出username,删除
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。