用django-redis来存储session及记住用户的登录名 : django开发之天天生鲜项目知识总结【7】

django实战--天天生鲜项目开发(用户注册-登录-用户中心) (以下所有文字/代码只针对本人具体项目有效) 1.更换pycharm项目路径: File–>settings–>projects:dailyfresh–>project Interprefer–>点下拉列表,选择项目具体路径,如果没有的话就手动选择路径添加,具体到我这个项目就是:"/home/asus/.virtualenvs/py_django/bin/python" 2. 阅读详情

介绍

django-redis:基于BSD许可,是一个使Django支持 Redis cache/session 后端的全功能组件~~

没有安装reids的也可以看我之前的文章:
1.【超详细安装配置教程】安装及配置redis数据库 ,与安装 tcl8.6.8版本
2.【简单的配置】配置redis
3. redis_启动服务端和客户端


  • 1.下面首先进行安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple django-redis
  • 2.作为 cache backend 进行配置:直接在项目的settings文件中加入下面的代码:
    django里面有一个 缓存的设置,简单来说,举个例子,就是从数据库中拿到的东西,找个地方存起来,但多次使用时,比直接从数据库中再次提取数据要快的多。(后面的总结中再深入讲django缓存,这里先说存储session)
# Django的缓存配置
CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://172.16.179.130:6379/9", # 配置使用的redis 地址和端口号和第几个数据库
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    }
}
  • 3)作为session backend使用配置:
    Django,默认使用任何 cache backend 作为 session backend,将django-redis作为sessionc存储后端,不用安装任何额外的 backend。
# 配置session存储
SESSION_ENGINE = "django.contrib.sessions.backends.cache"  # 控制你的session应该保存到哪里。
SESSION_CACHE_ALIAS = "default"

默认的有三种存储方式
在这里插入图片描述

  • 做完这些配置之后就可以使用redis,来存储session了~

后续更多内容,以后会继续讲解。

django之状态保持-使用redis存储session的例子 关于redis安装,pip install django-redis-sessions,按照提示进行安装相关的服务端 和客户端. django版本1.8.2, Python版本2.7.12 1 进入虚拟环境h1 workon h1 2 创建一个项目test应用booktest django-admin startproject test 3 创建应用booktest 进入项目test目录,创建应用booktest,这个booktest应用目录和manage.py在 同级目录下 python manage.py startapp booktest 4 定义一个session1视图来匹配 立即下载

相关推荐

【图数据库与知识图谱入门】2.2 图数据库 vs. 关系型数据库 vs. NoSQL数据库

本文对比了关系型数据库、NoSQL数据库和图数据库的核心差异与应用场景。关系型数据库以二维表结构为核心,适合结构化数据的事务处理(如MySQL),但多表关联查询性能随层级增加而下降。NoSQL数据库(如MongoDB)具有灵活schema,适合海量非结构化数据存储,但关联查询能力较弱。图数据库专注于节点-边关系建模,擅长处理复杂关联分析(如社交网络)。通过学生-课程案例展示了MySQL的多表JOIN操作和MongoDB的两种关联实现方式(内嵌文档和文档引用),揭示了不同数据库在数据关联处理上的本质区别。

kngines 1538

django 用户登录及session的创建记录

1.登录时对密码进行加密 将用户名和昵称保存到session中 页面显示用户名和昵称

YPL_ZML的博客 1281

基于STM32的RS485土壤氮磷钾与PH传感器数据采集与OLED显示实战(附完整代码)

本文详细介绍了基于STM32单片机通过RS485协议采集土壤氮磷钾与PH传感器数据的实战项目。涵盖硬件选型、连接方法、Modbus-RTU通信协议解析、STM32程序实现及OLED显示,提供完整代码和调试技巧,适用于农业物联网环境监测系统。

kotlin6android的博客 333

Django 通过 session 保存个人信息

通过 session 保存 个人 信息 登录的视图函数中: def login(request): ''' 登录 ''' err, user, pwd = '', '', '' if request.method == 'POST': user = request.POST.get('user') pwd = request.POST.get...

weixin_34208283的博客 634

esp32c6 开发实战:低功耗蓝牙(BLE)开发

蓝牙栈在此程序流程中已经启动并运行,但是应用程序的功能尚未定义。功能的定义是通过响应事件来实现的,当其他设备尝试读取或写入参数以及建立连接时就会触发事件回调函数处理。BT控制器在控制器端实现主机控制器接口(HCI),链路层(LL)和物理层(PHY)。BT控制器对用户应用程序不可见,并处理BLE堆栈的较低层。蓝牙堆栈(Bluedroid stack)定义了经典蓝牙(BT Classic)和低功耗蓝牙(BLE)的通用定义和API。的判断)等对于启动低功耗蓝牙来说不重要的代码,函数初始化和启用BT控制器。

月入鱼饵的博客 2740

Isaac Gym摄像头数据获取全攻略:从CPU到GPU,教你实时显示RGB与深度图

本文详细介绍了在Isaac Gym中获取摄像头数据的两种高效方案:CPU模式与GPU张量模式。通过实战代码示例,展示了从摄像头配置、数据获取到实时可视化RGB与深度图的全流程,帮助开发者优化机器人仿真与计算机视觉应用的性能。特别强调了GPU模式下的零拷贝访问与张量运算优势,适用于需要低延迟处理的场景。

weixin_29056701的博客 387

Django中的session,和cookie机制

Cookie和Session 实现用户跟踪 如今,一个网站如果不通过某种方式记住你是谁以及你之前在网站的活动情况,失去的就是网站的可用性和便利性,继而很有可能导致网站用户的流式,所以记住一个用户(更专业的说法叫用户跟踪)对绝大多数Web应用来说都是必需的功能。 在服务器端,我们想记住一个用户最简单的办法就是创建一个对象,通过这个对象就可以把用户相关的信息都保存起来,这个对象就是我们常说的sessi...

qq_42992919的博客 606

避坑指南:AUTOSAR FlashDriver操作DFlash模拟EEPROM时,你最容易忽略的5个细节

本文深入探讨了AUTOSAR FlashDriver在DFlash模拟EEPROM操作中最容易被忽视的五大细节问题,包括地址合法性检查、操作时序控制、并发访问冲突、电源稳定性管理和寿命管理。通过实际项目案例和工程化解决方案,帮助开发者避免常见陷阱,提升汽车电子控制单元(ECU)的可靠性和稳定性。

weixin_42741930的博客 245

Session&&Cookie:使用Django-redis配置web的session缓存到Redis数据库&& 记住用户名

参考官方文档:https://django-redis-chs.readthedocs.io/zh_CN/latest/ SESSION 1、安装 直接在虚拟环境里面安装: pip install django-redis 2、在Django的settings.py中配置session缓存 # Django-redis 作为session的缓存配置分为两步 # 1.django的缓存配置, 使用r...

凌云俯瞰 424

【电源专题】案例:对比不同电池在不同电流下的电池放电曲线

无

一点硬件 2840

基于STM32设计的个人健康检测仪(华为云IOT)(191)

本系统采用华为云物联网平台实现数据云端存储与分析,并通过自研手机APP提供远程监控界面,让用户无论身处何地都能及时掌握自身的健康数据,为用户提供个性化的健康管理方案,同时也为医疗机构提供了便捷的数据获取途径,助力实现智能化、精细化的医疗服务。

1676

Python--Django:验证用户authenticate(),记住用户的登陆状态login(),redis缓存session信息,关于注册状态is_active

验证用户authenticate(),记住用户的登陆状态login(),redis缓存session信息,关于注册状态is_active

weixin_45365220的博客 3157

使用Mask2Former和X-Decoder训练自定义数据集及结果复现报告

本报告记录了使用MMDetection框架中的Mask2Former和X-Decoder模型在自定义数据集上的训练过程。报告包含环境配置、数据集准备、模型训练与优化(解决了Mask2Former的PQ值异常问题)、性能评估等关键环节。详细展示了从数据集转换(将客户提供的COCO格式数据适配MMDetection框架)、配置文件修改、到最终模型训练和评估的全流程。特别针对Mask2Former训练中的PQ值异常问题提供了解决方案,并对比了两种模型在自定义数据集上的表现。报告还包含完整的代码实现和技术细节。

huanghm88的专栏 1088

天天生鲜 登录基本逻辑 user = authenticate(username=username, password=password)一直返回None

问题描述 Python3.5 + Django2.2 天天生鲜项目在【4-01_登录基本逻辑】一节中user = authenticate(username=username, password=password)返回结果都是None。 出错原因 让它不自动关联数据库的is_active。 解决方法 在settings.py文件里面加上如下代码: AUTHENTICATION_BACKENDS =...

Nancy 博客 2588

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

天天生鲜项目——登录页面

6、login.html 登录页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lan...

Cherry的博客 5943

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

天天生鲜项目经验

一、项目架构 前端: 用户相关 商品相关 购物车相关 订单相关 后台管理 后端: 用户模块 商品模块 购物车模块 订单模块 后台管理模块 技术: mysql session 缓存服务器redis 异步任务处理celery 分布式文件存储系统fastdfs 二、用户认证模型 # django认证系统使用的用户模型 AUTH_USER_MODEL = "users.User" 1.类视图...

qq_20567419的博客 3168

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

天天生鲜的用户登录机制和redis的作用

登录机制: 采用的是user.is_authenticated的校验. 采用了django的auth系统, 登陆使用了django.contrib.auth中的login方法, 该方法会为将user_id以及user_backend放入session中存储, .is_authenticated()通过判断session中是否有user_id 以及user_backend 来判断用户是否登陆。...

微电子学与固体电子学-俞驰 695

Django 使用auth模块登录 如何通过session 获取用户ID

首先,用户登录到服务器之后,会保存一个key:value 值,就是session. 这个key呢,是系统随机生成的一个随机字符串,用来表示唯一的身份。 比如:87234EFFDIDf7234D:{‘id’:1,‘username’:“zhangsan”,‘account’:0001,} Value,就是这个key中保存的数据。默认字段:[’_auth_user_id’, ‘_auth_user_b...

毛毛腿的博客 8248

Django 利用nginx+redis 实现单点登录(共享session的方法)

最近,在做一个项目,需要把以前写的django项目统一到一个新的django项目中,并保持所有系统的登录状态,即单点登录。搜了一圈,方法很多,但要在其中,选择最快速上线的确实不简单。又说用SSO系统,有的说用CAS认证,有的说用jwt机密token。最后,我选择了共享session。 思路十分清晰,共享session就是把cookie存的session_id的session信息通过一个公共的媒介存储下来,所有系统统一读写。由于django有各种数据库引擎,可以借用其中一个,方便实现单点登录。 在..

Damonhaus的博客 3319

Django中使用Redis保存session的方法

安装包 pip install django-redis-sessions==0.5.6 修改settings文件,加入以下代码 # 使用redis保存session数据 SESSION_ENGINE = 'redis_sessions.session' SESSION_REDIS_HOST = 'localhost' SESSION_REDIS_PORT = 6...

一叶孤舟YI的博客 4148

天天生鲜项目——用户订单页

9、user_center_order.html 用户中心-用户订单页 用户中心功能二,查看用户的全部订单 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="ht...

Cherry的博客 1455

django中使用redis实现用户操作历史记录历程

django中使用redis实现用户操作历史记录历程 “小王,个人中心要设置一个查看操作文档历史记录的功能,你实现一下” 小王拿到这个需求不假思索,so easy,使用redis的列表解决就OK了,把用户id作为键,列表中存文档的id,设置一个列表最大长度,对列表进行去重,不就O了吗 小王一顿操作猛如虎,代码写好了 # 连接到redis redis_conn = get_redis_connect...

wzc1060590781的博客 1146

Django项目中关于redis包版本的坑

1.环境 python:3.6 django:1.11.8 redis:3.2.1 2.遇到的问题 报错:redis.exceptions.DataError: Invalid input of type: 'UserInfo'. Convert to a byte, string or number first. 3.原因 不指定安装版本时,pip install redis ...

weixin_34388207的博客 1652

B站Django项目天天生鲜学习|django-redis版本问题

原来是不支持python3.7

xiaoluobotm的博客 948

django中使用redis自动储存设置的session信息

废话不多说,直接上步骤: pip install redis pip install django-redis pip install django-redis-sessions==0.5.6 先安装所需要的包 如果报类似于 WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None...

9527 565
上一篇: 制作登录时的验证码 : django开发之天天生鲜项目知识总结【6】
下一篇: Invalid input of type: CacheKey. Convert to a byte, string or number first:杂记问题处理
我是py呀
博客等级 码龄8年 205粉丝 130原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值