1.flask设置cookie | 2.设置session | 3.表单验证 | 4.静态页面引入样式 | 5.md5 加密

1. flask 设置cookie

 


from flask import Flask, Response, request
# 设置cookie
@app.route('/set_cookie')
def set_cookie():
    response = Response('设置cook')
    response.set_cookie('cook_name', 'cook_value', 设置时间长短)
    return response

# 获取cookie
@app.route('/get_cookie')
def get_cookie():
    cook_id = request.cookies.get('cook_name')
    print('这里是cookie', cook_id)
    return '获取cookie'

# 删除cookie

  @blue.route( /logout/')
  def logout():
    response =redirect('/home/')
    # 5.删除cookie
    response.delete_cookie('user')
    return response

 

2.  设置session 

from flask import Flask, Response, request, session
# 设置session的 key值
app.config['SECRET_KEY'] = '123852'

# 设置session
@app.route('/set_seeion')
def set_seeion():
    session['username'] = '李四'
    return 'session设置成功'

# 获取session @app.route('/get_seeion') def get_seeion(): username = session['username'] print(username) return 'session获取成功'

# 删除session
session.pop('user')
session.clear()#慎用,会删除服务器下的所有session

 

 


3. 表单验证 email_validator

  3.1 表单的简单验证

# 1. app 文件代码
from flask import Flask, render_template, request
from forms import LoginForms

app = Flask(__name__)

@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
form = LoginForms(request.form)
if form.validate():
return '登录成功'
return render_template('login.html')

if __name__ == '__main__':
app.run()

#
2. html 代码 -----------------------------------------------------------------------------------------------
<h1> 用户登录 </h1>
<form method="post" action="/login">
<li><input type="text" name="email" ></li>
<li><input type="text" name="password" ></li>
<input type="submit" value="提交">
</form>
# 3. forms 文件代码-----------------------------------------------------------------------------------------------
import wtforms
from wtforms.validators import length, email
# 简单设置登录信息
class LoginForms(wtforms.Form):
email = wtforms.StringField(validators=[length(min=5, max=20), email()])
password = wtforms.PasswordField(validators=[length(min=2, max=10)])

 


 

4. 静态页面引入样式 css文件必须放再根目录static文件里面

  4.1 css 引入代码

<link rel="stylesheet" href="{{ url_for('static', filename='bootstrap/css/bootstrap.min.css') }}">

   4.2 公共模板引入 | 

{% extends 'base.html' %}
{% block title %}消失空间 - 登陆{% endblock %}

引入一个文件
{% include 'child2_include.html|'%}

   4.3  保留付模板的数据

继承后保留块中的内容{{ super() }}

  


 5. md5 加密

from werkzeug.security import generate_password_hash

# md5 加密
hash_password = generate_password_hash(password)

 

posted @ 2022-10-06 16:54  我在春天等伱  阅读(118)  评论(0)    收藏  举报