簡體   English   中英

如何逃避 Django 中的中間件確保的所需登錄或保護?

[英]How to escape the required login or protection ensured by the middleware in Django?

Django web 應用程序通常需要登錄,但是有一個 url 或視圖不需要登錄。 如何讓它發揮作用?

re_path(r'^admin/', admin.site.urls), path('about/',views.about,name="about"),

默認情況下,所有管理員 url 都受登錄保護,如果您不使用管理站點,並且如果您在 views.py 中不使用任何 login_required 裝飾器,那么 url 將不需要登錄,就像這里的“about/”url 一樣。

Django 文檔https://docs.djangoproject.com/en/3.0/ref/csrf/#django.views.decorators.csrf.csrf_exempt提到了以下內容,這看起來是正確的解決方案。

實用程序

下面的示例假設您使用的是基於函數的視圖。 如果您正在使用基於類的視圖,您可以參考裝飾基於類的視圖。

csrf_exempt(view)

此裝飾器將視圖標記為不受中間件確保的保護。 例子:

from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
def my_view(request):
    return HttpResponse('Hello world')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM