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.pswp.cn/web/37624.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/37624.shtml
英文地址,請注明出處:http://en.pswp.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 三者的異同&…

簡過網:考一建需要報培訓班嗎?報班費用是多少錢

近幾年來,越來越多的朋友都開始關注和參與備考一建,那么,大家在備考一建時,都報培訓班了嗎?報班的費用是多少錢?接下來,我們一塊來了解一下吧? ? 一、考一建需要報培訓班嗎&#…