[英]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.