django @login_required 为什么会自动重定向到/accounts/login/?next=/myblog/post/new/

在Django中,@login_required 装饰器用于确保用户在访问某个视图时已经登录。如果用户未登录,那么Django会自动重定向用户到登录页面。默认情况下,Django使用/accounts/login/作为登录URL。如果用户试图访问一个需要登录的视图,比如/myblog/post/new/,但未登录,Django会将用户重定向到/accounts/login/?next=/myblog/post/new/

这里的 next 参数告诉登录视图,在用户成功登录后,应将其重定向回到他们最初试图访问的页面。

如果你想自定义登录URL,可以在Django的设置文件settings.py中更改LOGIN_URL配置项。例如:

LOGIN_URL = '/custom_login/'

这样,当未登录用户试图访问需要登录的视图时,他们会被重定向到/custom_login/而不是默认的/accounts/login/

示例

展示如何使用@login_required以及如何自定义登录URL:

1. views.py
from django.shortcuts import render
from django.contrib.auth.decorators import login_required@login_required
def post_new(request):# Your view logic herereturn render(request, 'post_new.html')
2. settings.py
# Ensure you have the following setting
LOGIN_URL = '/custom_login/'
3. urls.py
from django.urls import path
from . import viewsurlpatterns = [path('myblog/post/new/', views.post_new, name='post_new'),path('custom_login/', views.custom_login_view, name='custom_login'),
]

通过这些设置,未登录用户在访问/myblog/post/new/时,将会被重定向到/custom_login/?next=/myblog/post/new/

局部指定

直接在view装饰器指定url地址。

from django.shortcuts import render
from django.contrib.auth.decorators import login_required@login_required(login_url='/custom_login/login')
def post_new(request):# Your view logic herereturn render(request, 'post_new.html')

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/37624.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

proto文件应该如何撰写

什么是.pb.h 和 .pb.cc 文件? protobuf的核心是一个.proto文件,我们自定义一个.proto来创建我们的协议数据,然后使用protocol buffer 编译器工具编译生成两个"文件名.pb.cc"和"文件名.pb.h"的文件。 Protocol Buffers&…

K-Planes代码记录

随记 原文 K-Planes: Explicit Radiance Fields in Space, Time, and Appearance,又要换baseline,可是效果不好能怎么办呢,我可不可以发疯。k-planes的代码又是非常工程琐碎的,大佬的代码果然不顾小白死活。随便记录下整个过程。…

制造型企业生产管理的技巧,你都用过哪些?

作为管理者,一谈到生产管理,你可能会想到很多生产过程中的问题:订单准交率不高、计划达成率不高、生产效率低、再制品太多、生产周期长等等一系列问题;如果你不仅仅是一名管理者,你还是一名企业主,你甚至经…

实践Go的命令模式

简介 现在的软件系统往往是分层设计。在业务层执行一次请求时,我们很清楚请求的上下文,包括,请求是做什么的、参数有哪些、请求的接收者是谁、返回值是怎样的。相反,基础设施层并不需要完全清楚业务上下文,它只需知道…

Bootstrap更改默认的“请在电子邮件地址中包含@”

摘要: 今天开发一个外贸系统,必须全部英文的,但是使用到bootatrp 4的input标签的type"email"输入没有含“”符号时会提示:“请在电子邮件地址中包含”中文提示!一开始以为是中国下载的谷歌是浏览器自带的提示…

[思考记录.产品改进]假如异常日志可以自动上报

最近考虑日志收集的事情,主要出发点是: 1、在问题出现后能方便快速地收集相关的线索和证据,帮助快速定位和解决问题。因为反馈问题往往在发生之后,如果在这个时候能快速方便地拿到有用信息是件很舒服的事情,而在获取日…

AIGC重塑创意设计:不仅能带来新技术,更能引发新思考

随着科技的飞速发展,AIGC(生成式人工智能)已经逐渐成为创意设计领域的一股新势力。从影视制作到游戏设计,从平面广告到数字媒体,AIGC的影响力无处不在,它不仅带来了全新的技术手段,更在深层次上…

Linux-笔记 嵌入式gdb远程调试

目录 前言 实现 1、内核配置 2、GDB移植 3、准备调试程序 4、开始调试 前言 gdb调试器是基于命令行的GNU项目调试器,通过gdb工具我们可以实现许多调试手段,同时gdb支持多种语言,兼容性很强。 在桌面 Linux 系统(如 Ubuntu、Cent…

跨越地域界限:Eureka实现跨区域服务发现全解析

跨越地域界限:Eureka实现跨区域服务发现全解析 在微服务架构的浪潮中,服务的分布式部署已成为常态。随着业务的全球扩展,服务往往需要跨区域甚至跨国界进行部署。在这样的背景下,服务发现机制面临着新的挑战——如何实现不同区域…

如何在服务器中找到数据库文件路径

在服务器中找到数据库文件路径的具体方法取决于您所使用的数据库管理系统和服务器的操作系统。以下是一些常见的数据库系统(如MySQL、Microsoft SQL Server、Oracle、PostgreSQL和MongoDB)的文件路径查找方法的详细步骤: MySQL 通过命令行查…

Redis基础教程(三):redis命令

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝&#x1f49…

08 - Python面向对象编程进阶

面向对象进阶 在前面的章节我们已经了解了面向对象的入门知识,知道了如何定义类,如何创建对象以及如何给对象发消息。为了能够更好的使用面向对象编程思想进行程序开发,我们还需要对Python中的面向对象编程进行更为深入的了解。 property装…

六西格玛绿带培训的证书有什么用处?

近年来,六西格玛作为一套严谨而系统的质量管理方法,被广泛运用于各行各业。而六西格玛绿带培训证书,作为这一方法论中基础且重要的认证,对于个人和企业而言,都具有不可忽视的价值。本文将从多个角度深入探讨六西格玛绿…

重写功能 rewrite

Nginx服务器利用 ngx_http_rewrite_module 模块解析和处理rewrite请求,此功能依靠 PCRE(perl compatible regular expression),因此编译之前要安装PCRE库,rewrite是nginx服务器的重要功能之 一,用于实现URL的重写,URL的…

充电宝口碑哪个好?好用充电宝品牌有哪些?好用充电宝推荐

充电宝作为我们日常生活和出行的重要伙伴,其品质和性能直接影响着我们的使用体验。今天,就来和大家探讨一下充电宝口碑哪个好,为大家盘点那些备受赞誉的好用充电宝品牌,并向您推荐几款值得入手的充电宝,外出时不再担心…

mac英语学习工具:Eudic欧路词典 for Mac 激活版

Eudic欧路词典是一款非常受欢迎的英语学习软件,它提供了丰富的词汇解释、例句、同义词、反义词等功能,帮助用户更好地理解和掌握英语单词。 以下是Eudic欧路词典的一些主要特点: 海量词汇库:Eudic欧路词典拥有庞大的词汇库&#…

flutter photo_manager 报错:Error: ‘DecoderCallback‘ isn‘t a type.

看看是不是你的photo_manager版本少于3.0。如果是少于3.0,请及时升级到3.0及以上版本,同时因为photo_manager3.0不再提供 AssetEntityImageProvider 这个方法,会导致报错,不要慌,请添加下方的库即可解决问题&#xf…

为什么人人都要懂一些销售思维

创业看事情的高度、考虑的维度比做销售更高、更复杂、更全面,销售思维、销售方法更多时候用在解决局部问题,帮我们打局部战争,它是术。 但是,我仍然认为,销售思维是一种很有用、有效、有力量、必要的思维。我们每个人…

面试题002-Java-Java集合

面试题002-Java-Java集合 目录 面试题002-Java-Java集合题目自测题目答案1. 说说 List,Set,Map 三者的区别?三者底层的数据结构?2. 有哪些集合是线程不安全的?怎么解决呢?3. 比较 HashSet 、LinkedHashSet 和 TreeSet 三者的异同&…

简过网:考一建需要报培训班吗?报班费用是多少钱

近几年来,越来越多的朋友都开始关注和参与备考一建,那么,大家在备考一建时,都报培训班了吗?报班的费用是多少钱?接下来,我们一块来了解一下吧? ​ 一、考一建需要报培训班吗&#…