view.py中定义登录判断装饰器函数

def login_required(view_func):'''登录判断装饰器'''def wrapper(request, *view_args, **view_kwargs):# 判断用户是否登录if request.session.has_key('islogin'):# 用户已登录,调用对应的视图return view_func(request, *view_args, **view_kwargs)else:# 用户未登录,跳转到登录页return redirect('/login')return wrapper

使用时,在函数前边添加@login_required即可。

@login_required
def change_pwd(request):'''显示修改密码页面'''return render(request, 'booktest/change_pwd.html')
@login_required
def change_pwd_action(request):'''模拟修改密码处理'''# 1.获取新密码pwd = request.POST.get('pwd')# 获取用户名username = request.session.get('username')# 2.实际开发的时候: 修改对应数据库中的内容...# 3.返回一个应答return HttpResponse('%s修改密码为:%s'%(username,pwd))

Django项目--登录判断装饰器相关推荐

  1. Flask实战2问答平台-登录限制(装饰器)

    我们来解决上一文章说到的,为登录不能点击发布问答功能 (一)先写一个装饰器 装饰器教程参考廖雪峰教程 http://t.cn/RK0SaGl from functools import wraps # ...

  2. React使用cra创建项目,开启装饰器

    前言 今天使用 cra 创建了个项目.打算研究一下 rc-form 的实现思路.发现项目并未开启装饰器.并提示下面的错误. Support for the experimental syntax 'd ...

  3. 给django视图类添加装饰器

    要将login_required装饰到view class的dispatch方法上, 因为dispatch方法为类方法,不是单个的函数,所以需要将装饰函数的装饰器 login_required转化为装 ...

  4. django ----CBV中加装饰器

    CBV中加装饰器 from django import views from django.utils.decorators import method_decorator def login_aut ...

  5. Django框架(26.Django中的CSRF以及登录装饰器)

    CSRF简介 CSRF全拼为Cross Site Request Forgery,译为跨站请求伪造.CSRF指攻击者盗用了你的身份,以你的名义发送恶意请求.CSRF能够做的事情包括:以你名义发送邮件, ...

  6. Django项目实战——8—(判断用户是否登录并返回JSON、Django发送邮件的配置、生成邮箱验证链接、验证邮箱后端逻辑)

    1.判断用户是否登录并返回JSON 重要提示: 只有用户登录时才能让其绑定邮箱. 此时前后端交互的数据类型是JSON,所以需要判断用户是否登录并返回JSON给用户. 方案一: 使用Django用户认证 ...

  7. 从原理到实践:装饰器模式如何在项目中落地详解(给原对象增加新的行为和功能)

    装饰器模式---- 不修改原始对象,给原对象增加新的行为和功能. 2.1.概念 装饰器模式(Decorator Pattern)是一种结构型设计模式,它允许动态地向对象添加额外的功能,而无需修改其原始 ...

  8. python if后面要不要加括号_Python装饰器兼容加括号与不加括号的写法

    使用Django的时候,我发现一个很神奇的装饰器:@login_required, 这是控制一个view的权限的,比如一个视图必须登录才可以访问,可以这样用: 1 2 3 4 @login_requi ...

  9. Python“三大器”之装饰器1

    一.装饰器 1.什么是装饰器? 装饰:装饰.修饰 器:工具 装饰器:装饰的工具 (*****)"开放封闭":装饰器必须要遵循"开放封闭"原则: 开放:对函数功能 ...

最新文章

  1. 想读博士?进来看看!
  2. 十年——透过BILL的眼睛
  3. SAP BPC最佳实践-SAP BPC的OLAP引擎比较(MS OLAPBW OLAP)
  4. 深入浅出理解Javascript原型概念以及继承机制(转)
  5. oracle 排序的分析函数,oracle下数据的排序分组row_number() over()--分析函数,可用于去重...
  6. 终于有人把机器学习中的评价指标讲清楚了
  7. TJU Problem 2857 Digit Sorting
  8. 没有安装hiredis
  9. Linux as 5 下部署oracle 10.2.0.1(2)
  10. 为什么人们常说“十个创业九个死”?
  11. 用matlab画相频曲线_用MATLAB进行系统频率特性曲线绘制
  12. Discuz!开发之HTML转Discuz代码(bbcode)函数html2bbcode()
  13. 了解 HTTP 看这一篇就够
  14. oracle的音标,oracle的意思在线翻译,解释oracle中文英文含义,短语词组,音标读音,词源【澳典网ODict.Net】...
  15. Leetcode——714. Best Time to Buy and Sell Stock with Transaction Fee
  16. 数据架构与算法——C/C++实现冒泡排序(Bubble Sort)算法【建议收藏】
  17. Java------IO流与异常处理机制 详解
  18. Java多线程超时判断
  19. 神经网络算法对车牌价格的预测
  20. java解析 电力协议_DLT645解析JAVA JAVA解析DLT645电表通信协议 - 下载 - 搜珍网

热门文章

  1. 苹果面试8大难题及答案
  2. Bootstrap 中: data-toggle 与 data-target 的作用
  3. docker save 与 docker export 的区别
  4. CentOS上安装Docker (图解)
  5. Linux指令小记(简明实用)
  6. mysql多条数据合并一条之后取出重复值
  7. Datawhale MySQL 训练营 Task2 查询语句
  8. java Spring Boot中使用Swagger2构建API文档
  9. mysql帐号不允许从远程登陆
  10. Flash游戏开发实战(一)