Error in user YAML: (<unknown>): found a tab character that violate indentation while scanning a plain scalar at line 3 column 3
---
- oeasy Python 0590
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
- 本教程同步发布在:
- 个人网站: `https://oeasy.org`
- 蓝桥云课: `https://www.lanqiao.cn/courses/3584`
- GitHub: `https://github.com/overmind1980/oeasy-python-tutorial`
- Gitee: `https://gitee.com/overmind1980/oeasypython`
---- 上次添加了 登录功能
- 通过查询数据库
- 确定用户名和密码
- 最终确认用户可以登陆
- 登陆之后
- 就只是登录而已
- 没有浏览器再访问服务器
- 还是无状态
- 还是从零开始
- 能否在他们两个之间建立联系呢?🤔
- 可以在登陆之后
- 设置一个cookie
from flask import Flask,request,make_response
import time
app = Flask(__name__)
@app.route("/")
def set_cookie():
response = make_response("success")
response.set_cookie("time",time.asctime())
return response
if __name__ == "__main__":
app.run(debug=True)
- 本地存储了这个time变量作为cookie
- 记住这个时间
- 13:00
- 什么是cookie呢?
- HTTP cookie
- 简称cookie
- 是用户浏览网站时
- 由网络服务器创建
- 并由用户的网页浏览器存放的
- 小文本文件
- 这很方便
- 也很甜
- 有什么用呢?
- cookie 可以存储在浏览器端
- 以供服务器端知道你的情况
- 如何读取这个cookie?
- 这个cookie就在本地
- 通过这个cookie可以得到存进去的用户名
- 隔了一段时间之后
from flask import Flask,request,make_response
import time
app = Flask(__name__)
@app.route("/")
def set_cookie():
response = make_response("success")
response.set_cookie("time",time.asctime())
return response
@app.route("/get")
def get_cookie():
visit_time = request.cookies.get("time")
return visit_time
if __name__ == "__main__":
app.run(debug=True)
- 浏览器中的cookie
- 可以通过request给到服务器
- 后端得到cookie后
- 就知道上次访问的时间了
- 13:00
- 这样就可以把http的客户端和服务器端连接起来了
- 这个cookies到底是什么类型的呢?
from flask import Flask,request,make_response
import traceback
import time
app = Flask(__name__)
@app.route("/")
def set_cookie():
response = make_response("success")
response.set_cookie("time",time.asctime())
return response
@app.route("/get")
def get_cookie():
cookies = request.cookies
return str(type(cookies)) + str(cookies)
if __name__ == "__main__":
app.run(debug=True)
- cookies的类型是
- 不可变字典
- ImmutableMultiDict
- 如果访问一个不存在的cookie值
- 会如何呢?
- 访问一个cookie中不存在的not_exist
- 会得到一个None
- 这次研究了cookie
- 小甜点
- 真的很好吃
- 这样可以往浏览器里面写一些东西
- 告诉浏览器浏览器我是谁
- 比如正确登录之后的用户名
- 这个东西怎么存呢?
- 下次再说!
- 本文来自 oeasy Python 系统教程。
- 想完整、扎实学 Python,
- 搜索 oeasy 即可。










