Flask -- 会话


会话session

在不同请求间存储特定用户的信息。它是在 Cookies 的基础上实现的,并且对 Cookies 进行密钥签名。这意味着用户可以查看你 Cookie 的内容,但却不能修改它,除非用户知道签名的密钥。

from flask import Flask, session, redirect, url_for, escape, request

app = Flask(__name__)

@app.route(‘/‘)
def index():
    if ‘username‘ in session:
        return ‘Logged in as %s‘ % escape(session[‘username‘])
    return ‘You are not logged in‘

@app.route(‘/login‘, methods=[‘GET‘, ‘POST‘])
def login():
    if request.method == ‘POST‘:
        session[‘username‘] = request.form[‘username‘]
        return redirect(url_for(‘index‘))
    return ‘‘‘
        <form action="" method="post">
            <p><input type=text name=username>
            <p><input type=submit value=Login>
        </form>
    ‘‘‘

@app.route(‘/logout‘)
def logout():
    # remove the username from the session if it‘s there
    session.pop(‘username‘, None)
    return redirect(url_for(‘index‘))

# set the secret key.  keep this really secret:
app.secret_key = ‘A0Zr98j/3yX R~XHH!jmN]LWX/,?RT‘
#生成秘钥
>>> import os
>>> os.urandom(24)
‘\xfd{H\xe5<\x95\xf9\xe3\x96.5\xd1\x01O<!\xd5\xa2\xa0\x9fR"\xa1\xa8‘
时间: 2024-08-08 15:45:34

Flask -- 会话的相关文章

[学习记录]Flask会话维护

前置知识: 1.http是一种无状态的通信协议,本身不保存通信状态 2.web服务器本质上负责接收用户的请求(request)并按照规则给予用户响应(response) 3.会话(session)是web服务器用来管理用户的一种方式,在一次会话中web服务器认为自己所有的通信都是与同一个用户进行的 4.cookie是一种实现会话的方式 然后进入正题,参考文档:flask官方文档 为了方便起见直接使用官方提供的demo代码,仅对login函数进行了修改,在添加完session后打印session内

python面试题总结与分析(一)

Q 1:Python 有哪些特点和优点? 作为一门编程入门语言,Python 主要有以下特点和优点: 可解释 具有动态特性 面向对象 简明简单 开源 具有强大的社区支持 当然,实际上 Python 的优点远不止如此,可以阅读该文档,详细了解: https://data-flair.training/blogs/python-tutorial/ Q 2:深拷贝和浅拷贝之间的区别是什么? 答:深拷贝就是将一个对象拷贝到另一个对象中,这意味着如果你对一个对象的拷贝做出改变时,不会影响原对象.在 Pyt

Flask之视图,会话、模板

一.视图 1.route (1)路由: 将从客户端发送过来的请求分发到指定函数上 (2)语法: @app.route(‘/rule/’) def hello(): return ‘Hello World!’ @app.route(‘/rule/<id>/’) def hello(id): return ‘Hello{}’.format(id) (3)route规则 写法 <converter:variable_name> converter类型 string 接收任何没有斜杠(‘/

flask开发restful api

在此之前,向大家说明的是,我们整个框架用的是flask + sqlalchemy + redis.如果没有开发过web,还是先去学习一下,这边只是介绍如果从开发web转换到开发移动端.如果flask还不是很熟悉,我建议先到这个网站简单学习一下,非常非常简单.http://dormousehole.readthedocs.org/en/latest/ 一直想写一些特别的东西,能让大家学习讨论的东西.但目前网上的很多博客,老么就按照官方文档照本宣读,要么直接搬代码,什么都不说明.我写这个系列的博客,

Flask之十——博客文章

1. 提交和显示博客文章 app/models.py: 博客文章模型 class Post(db.Model): __tablename__ = 'posts' id = db.Column(db.Integer, primary_key=True) body = db.Column(db.Text) timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow) author_id = db.Column(db.I

Flask学习之六——用户认证

1. 密码安全性 使用Werkzeug实现密码hash generate_password_hash(password, method, salt_length) 将原始密码作为输入,以字符串形式输出密码的hash值,输出的值可保存在用户数据库中.method 和 salt_length的默认值就能满足大多数需求. check_password_hash(hash, password) 将数据库中取回的密码hash和用户输入的密码比较,如果密码正确则返回Trueapp/models.py:在Us

flask快速入门笔记三_上下文对象:Flask核心机制

首先声明:内容大部分来自huizhiwang,只是单纯记笔记. 1 请求 :WSGI WSGI,全称 Web Server Gateway Interface,或者 Python Web Server Gateway Interface ,是为 Python 语言定义的Web服务器和Web应用程序之间的一种简单而通用的接口. WSGI将Web服务分成两个部分:服务器和应用程序.WGSI服务器只负责与网络相关的两件事:接收浏览器的 HTTP请求.向浏览器发送HTTP应答:而对HTTP请求的具体处理

用Flask 搭建RESTful APIs 服务器端

此文摘录自: http://www.cnblogs.com/vovlie/p/4178077.html 最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文将会使用python的Flask框架轻松实现一个RESTful的服务. REST的六个特性: Client-Server:服务器端与客户端分离. Stateless(无状态):每次客户端请求必需包含完整的信息,换句话说,每一次请求都是独立的. Cacheable(

Flask Web开发读书笔记

1.Flask的两个主要依赖: 路由.调试和Web服务器网关接口(Web Server Gateway Interface,WSGI)子系统由Werkzeug提供. 模板系统由Jinja2提供. Werkzeug功能: HTTP头解析与封装 易于使用的request和response对象 基于浏览器的交互式JavaScript调试器 与 WSGI 1.0 规范100%兼容 支持Python 2.4-Python 2.7 (Python 3.0实验性支持) 支持Unicode 支持基本的会话管理及