使用Django自带的登录访问限制login_required

Django账户安全配置 不同的用户只能访问不同的页面,下面是配置实现的方法。 阅读详情

在网站开发过程中,经常会遇到这样的需求:

  • 用户登陆系统才可以访问某些页面

  • 如果用户没有登陆而直接访问就会跳转到登陆界面,

  • 用户在跳转的登陆界面中完成登陆后,自动访问跳转到之前访问的地

完成这样的功能其实不难,最简单的一种方法即为使用django自带的登录访问限制login_required。其使用方法非常简单,只需要在视图函数views.py中引入(login_required是一个装饰器)并装饰(所有)需要进行登录访问限制的视图函数即可,详情如下:

#views.py
...

from djanco.contrib.auth.decorators import login_required

@login_required             # 例子比较简单
def myview(request):
    return render_to_response('index.html')    # 假设其对应路由为/index/
                                                                                                              

#settings.py
....
LOGIN_URL = '/login/'  #这个路径需要根据你网站的实际登陆地址来设置,也就是登录路由
....
                                                                                                                 

以上做好以后,没有登录的情况下直接访问/index/路由(本地为127.0.0.1:8000/index/)会发现出现类似下面的界面



说明以上代码生效了,然后大家看路由地址发现有了参数?next=/index/登录成功后就会跳转路由到/index/。

如果说以上都执行后发现并没有跳转到next指向的路由,此时要注意了,注意做以下操作:

    此时我们的登录路由/login/有了参数next=/.../,我们只需要在登录的视图函数中获取到这个参数并在能获取到该next参数时重定向到next指向的路由即可,例如:

                                                                                                                                        

#views.py      在登录的视图函数逻辑中修改
def userlogin(request):
   next_to = request.GET.get('next', false)
   if request.user:       #判断用户是否登录成功
       if next_to:
       return HttpResponseRedirect( next_to )

    return render_to_response('index.html')    # 跳转到首页         

                                                                                                                                                      

如果是其它的路由/detail/等等操作都是一样的,三步走  1.挂视图(装饰器)2.设路由(登录路由)3.截跳转(获取到next就重定向)

Web请求认证中限制用户访问有几种方式? 在通常情况下,网站都会对用户限制访问,例如,未登录的用户不可访问用户中心界面。Djagno框架中使用request.user.is_authenticated属性、装饰器login_required和LoginRequiredMixin类三种方式限制用户访问。接下来,对这三种限制用户访问的方式进行介绍。 阅读详情

相关推荐

用VSCode远程开发Jetson小车:告别Jupyter,在本地IDE高效调试Rosmaster Python程序

本文详细介绍了如何利用VSCode的Remote-SSH扩展在本地IDE中高效开发Jetson小车的Rosmaster Python程序。通过配置远程开发环境、调试技巧和项目管理方法,开发者可以告别Jupyter Notebook的碎片化编码,实现完整的机器人控制程序开发,显著提升工作效率。

weixin_30652491的博客 477

django--login_required实现登录才能访问页面

在 Django 中,当用户成功登录后,系统会为该用户创建一个 User 实例,该实例中包含了用户的身份信息,包括用户名、密码等等。login_required 是一个常用的装饰器,在 Django 和其他一些 Python web 框架中使用,用于保护需要用户身份验证的视图函数,以确保只有已登录的用户才能访问这些视图。在 Django 项目的 settings.py 文件中,你可以定义 LOGIN_URL 参数,指定未登录用户访问需要登录的页面时应该重定向到的登录页面。

liulanba的博客 6199

SAP-MM-采购申请字段解析

采购申请抬头以及行项目字段解析

yanzibing99的博客 7306

Linux系统加固:如何有效管理系统账号

Linux系统加固:如何有效管理系统账号

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 1万+

【Telephony】Telephony总纲!Phone进程流程(AOSP)

整个Framework层的Telephony框架运行在一个叫做Phone(com.android.phone)的进程中。 Phone进程启动的过程中,会初始化非常多的分支功能,SIM卡流程初始化就是其中之一,所以我觉得有必要写一下Phone进程的框架

weixin_44513784的博客 1975

iphone查看/private/var/mobile/Containers/Data/Application/文件

xcode查看iPhone的private/var/文件夹xcode连接iPhone真机选择app下载Containers文件夹到mac电脑中查看手机中下载的文件 使用xcode真机调试的时候,文件目录都是这种/private/var/mobile/Containers/Data/Application/FAEFDF4D-5CE4-474F-9C53-C19789DB59F6/tmp/ xcode连接iPhone真机 不需要越狱,使用xcode上连接iPhone,然后选择运行的app,选择window-&g

小手琴师的博客 101万+

管理aix的密码策略

aix 中 /etc/security/user 存放用户的概要 常用参数参数如下 1.account_locked      defines whether the account is locked.locked accounts can not be used for login .                               possible values:true or ...

weixin_34391445的博客 1630

8、音频运行时系统的架构设计

本文深入探讨了音频运行时系统的分层设计及其优势,包括逻辑层和物理层的功能划分。通过分层设计,开发者可以更轻松地管理和优化音频资源,确保其在不同平台上的高效运行。文章还介绍了平台适配与优化、错误处理与调试以及未来发展方向等内容,为开发者提供了宝贵的参考和指导。

juice的博客 461

关于django内置的登入验证 login_required

前言:在下只是一个简单的小白,只是想想记录下在使用django开发过程中遇到的问题与处理,如有问题真心的希望指出。下面说的是网站开发基本上有的登入验证。 一、使用login_required函数进行登入验证。 1、引入函数:from django.contrib.auth.decorators import login_required 2、需要配置跳转路由,在setting中配置LOGIN_URL=‘跳转路径’,就是当在未登入状态进入的路由。 3、用户表的model需要继承 AbstractUser 引

亮亮的分享 2214

8.5华为OD机试真题 新系统 - IPv4 等长子网划分与自动分配系统 (Java/Py/C/C++/Js/Go)

8.5华为OD机试真题 新系统 - IPv4 等长子网划分与自动分配系统 (Java/Py/C/C++/Js/Go)

算法大师! 526

LeetCode 热题 100 回顾

力扣最受刷题发烧友欢迎的 100 道题 LeetCode 热题 100 : 题目回顾、解题思路、复杂度分析、代码实现、验证算法

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 9万+

linux账户周期安全策略及

1.linux 账号周期策略 出于安全性的考虑,linux系统中需要对密码周期进行限制,其中/etc/login.defs就是对用户周期进行设置,在/etc/login.defs中我们可配置密码的最大过期天数,密码的最大长度约束等内容。但该文件里的配置对root用户无效,而且更改此处后,会立即生效,但只对新建的用户密码周期进行设置,已有用户密码过期时间仍然不变。此外,如果/etc/shadow文件里

qq_34834193的博客 2673

SAP 系统里生成 PDF 的几条主干路径:从 Spool 转换到 Adobe 原生渲染,再到 BTP 云服务

本文系统梳理了SAP生态中PDF生成的多种技术方案,包括Spool转换、OTF转换、Smart Forms/Adobe Forms原生生成以及云端服务等不同路径。文章通过实际案例和代码示例,详细分析了各方案的适用场景、技术要点和工程实践建议,特别强调了多语言支持、字体处理、性能优化等关键因素。针对不同业务需求,提供了从简单导出到复杂交互式PDF的完整解决方案框架,为SAP环境下的PDF处理提供了实用指南。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 288

Django 用户登陆访问限制 @login_required

在网站开发过程中,经常会遇到这样的需求:用户登陆系统才可以访问某些页面,如果用户没有登陆而直接访问就会跳转到登陆界面。 要实现这样的需求其实很简单: 1、在相应的 view 方法的前面添加 django 自带的装饰器 @login_required 2、在 settings.py 中配置 LOGIN_URL 参数 3、修改 login.html 表单中的 action 参数 # views....

菲宇运维 6005

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Django实现用户登录 login authenticate

django实现登录一个用户需要俩个函数:authenticate(username,password)和login(request,user),这2个函数里面的参数都是固定的,必须要传入。authenticate(username,password)如果校验通过则返回user对象,如果校验不通过则返回None。 login()接受2个参数,接受request对象和authenticate返回的...

weixin_35078672的博客 5870

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

loginrequired注解_Django 用户登陆访问限制实例 @login_required

在网站开发过程中,经常会遇到这样的需求:用户登陆系统才可以访问某些页面,如果用户没有登陆而直接访问就会跳转到登陆界面。要实现这样的需求其实很简单:1、在相应的 view 方法的前面添加 django 自带的装饰器 @login_required2、在 settings.py 中配置 LOGIN_URL 参数3、修改 login.html 表单中的 action 参数# views.pyfrom d...

weixin_42361018的博客 1196

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

django实现用户登陆访问限制@login_required

我们在网站开发过程中,经常会遇到这样的需求:用户登陆系统才可以访问某些页面 如果用户没有登陆而直接访问就会跳转到登陆界面,而不能访问其他页面。 用户在跳转的登陆界面中完成登陆后,自动访问跳转到之前访问的地址 要实现这样的需求其实很简单: 1、使用django自带的装饰器 @login_required。 2、在相应的view方法的前面添加@login_required 3、并在sett...

Azhangyuaner的博客 3447

django 使用系统自带登录装饰器login_required

限制用户没有登录就不能访问,就是用这个装饰器,当用户点击用户视图的时候,装饰器会先跳转到登录页面,在url后面增加一个next字段,等到用户登录成功之后,在跳转到先前用户访问的页面 from django.contrib.auth.decorators import login_required 1.#在settings中配置登录url地址,login_required装饰器使用 LOGIN_...

weixin_45110196的博客 1200

login_required装饰器

Django用户认证系统提供了 login_required 函数装饰器来限制页面的访问,使用 login_required 装饰器的视图函数的页面,只有登录的用户可以访问。login_required 装饰器定义在 django.contrib.auth.decorators 模块中,内部封装了 is_authenticated 来判断用户是否登录。 如果已经登录则进入内部视图,执行视图函数逻辑。 如果未登录默认被重定向到 setting.LOGIN_URL 配置项指定的地址。 1、login_requi

73 1761

【Django】Django使用装饰器限制对视图的访问

这样,访问Topic详情视图时,不仅需要当前用户是已登录用户,还需要其同时拥有can_view_topic和add_topic两个权限。除了可以在视图处理中校验用户身份以及验证用户权限之外,Django还提供了便捷的装饰器来完成这两类校验。装饰器用来验证用户是否登录,只有登录的用户才可以访问视图,并获得响应,否则可以重定向到登录页引导用户登录。装饰器用来校验用户是否具有特定的权限,只有校验通过的用户才可以访问视图。由于Python支持给函数配置多个装饰器,所以,校验登录和校验权限的装饰器可以同时使用。

大河之犬的博客 1191

166.登录、退出登录以及登录限制案例

权限和分组 登录、注销和登录限制 1. 登录 在使用authenticate进行验证后,如果验证通过了,那么就会返回一个user对象,拿到user对象之后,可以使用django.contrib.auth.login进行登录,部分示例代码如下: user = authenticate(username=username, password=password) if user is not None ...

zjy123078_zjy的博客 1010

Django 使用login函数登陆和注销

一、登陆 1、写一个简单的登陆页面,如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>登录</title> </head> <body> <form action="" method="...

光明小学王小雨的博客 5675

Django登陆访问限制@login_required

http://www.loonapp.com/blog/19/在网站开发过程中,经常会遇到这样的需求:用户登陆系统才可以访问某些页面如果用户没有登陆而直接访问就会跳转到登陆界面,用户在跳转的登陆界面中完成登陆后,自动访问跳转到之前访问的地址要实现这样的需求其实很简单:就是使用@login_required标签。在想相应的view方法的前面添加@login_required标签,并在settings.

一个程序员的成长之路。。。 4493

【超详细实操内容】django的身份验证系统之限制用户访问的三种方式

通常情况下,网站都会对用户限制访问,例如,未登录的用户不可访问用户中心页面。Django框架中使用属性、装饰器loginrequired和LoginRequiredMixin类三种方式限制用户访问。

苏婳 1039

Django中@login_required用法简介

我们在网站开发过程中,经常会遇到这样的需求: 用户登陆系统才可以访问某些页面 如果用户没有登陆而直接访问就会跳转到登陆界面,而不能访问其他页面。 用户在跳转的登陆界面中完成登陆后,自动访问跳转到之前访问的地址 要实现这样的需求其实很简单: 使用django自带的装饰器 @login_required。 在相应的view方法的前面添加@login_requ...

weixin_30872499的博客 355
上一篇: 使用haystack实现全文搜索功能
下一篇: django-orm F对象的使用 按照两个字段的和,乘积排序
Buffing
博客等级 码龄9年 2粉丝 6原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值