LoginRequiredMixin類的使用


一、utils

1. 單獨創建一個 utils 包, 在包內創建 mixin.py 文件

二、mixin.py

1. 編寫一個 LoginRequiredMixin 繼承 object 

2. 重寫 as_view(cls, **initkwargs) 類方法, 對父類的 as_view 進行一層的封裝

1 from django.contrib.auth.decorators import login_required
2 
3 
4 class LoginRequiredMixin(object):
5     @classmethod
6     def as_view(cls, **initkwargs):
7         view = super(LoginRequiredMixin, cls).as_view(**initkwargs)
8         return login_required(view)

三、views.py

1. UserOrderView 視圖類使其繼承 LoginRequiredMixin 類和 View 

2. 先從 LoginRequiredMixin 類中調用 as_view() 方法,而后又會在該類中向他的父類 View 中調用 as_view()

 1 from django.shortcuts import render
 2 from django.views.generic import View
 3 from utils.mixin import LoginRequiredMixin
 4 
 5 
 6 class UserOrderView(LoginRequiredMixin, View):
 7     """用戶中心-訂單頁"""
 8     def get(self, request):
 9         """顯示訂單頁"""
10         return render(request, 'user_center_order.html', {'page': 'order'})

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM