1. 程式人生 > 資訊 >英偉達 CEO 黃仁勳:我對中英監管機構批准收購 Arm 交易充滿信心

英偉達 CEO 黃仁勳:我對中英監管機構批准收購 Arm 交易充滿信心

# from rest_framework.views import APIView

# urls.py    
path('booksapiview/', views.BooksAPIView.as_view()),  # 在這個地方應該寫一個函式記憶體地址


# APIView的as_view方法(類的繫結方法)
    @classmethod
    def as_view(cls, **initkwargs):

        view = super().as_view(**initkwargs)  # 呼叫父類(View)的as_view(**initkwargs)
        view.cls = cls  #
參見下圖補充 view.initkwargs = initkwargs # all other authentication is CSRF exempt. # 以後所有的請求都沒有csrf的認證了,只要繼承了APIView,就沒有了csrf的認證 return csrf_exempt(view) # 請求來了--->路由匹配上--->View(request)--->呼叫了self.dispatch(),會執行apiview的dispatch # APIView的dispatch方法 def
dispatch(self, request, *args, **kwargs): self.args = args self.kwargs = kwargs # self.initialize_request(request, *args, **kwargs) request是當次請求的request # request = self.initialize_request request是一個新的request物件 # 重新包裝成一個request物件,以後再用request物件,就是新的request物件了
request = self.initialize_request(request, *args, **kwargs) self.request = request self.headers = self.default_response_headers # deprecate? try: # 三大認證模組(詳情參見下述內容) self.initial(request, *args, **kwargs) # Get the appropriate handler method if request.method.lower() in self.http_method_names: handler = getattr(self, request.method.lower(), self.http_method_not_allowed) else: handler = self.http_method_not_allowed response = handler(request, *args, **kwargs) except Exception as exc: response = self.handle_exception(exc) self.response = self.finalize_response(request, response, *args, **kwargs) return self.response views.py中 class BooksAPIView(APIView): def get(self, request): # request已經不是原生django的request了,是drf自己定義的request物件 # print(self.request) print(request.data) return HttpResponse('ok')

# from rest_framework.views import APIView
# urls.pypath('booksapiview/', views.BooksAPIView.as_view()), # 在這個地方應該寫一個函式記憶體地址

# APIView的as_view方法(類的繫結方法) @classmethod def as_view(cls, **initkwargs):
view = super().as_view(**initkwargs) # 呼叫父類(View)的as_view(**initkwargs) view.cls = cls # 參見下圖補充 view.initkwargs = initkwargs # all other authentication is CSRF exempt.# 以後所有的請求都沒有csrf的認證了,只要繼承了APIView,就沒有了csrf的認證 return csrf_exempt(view) # 請求來了--->路由匹配上--->View(request)--->呼叫了self.dispatch(),會執行apiview的dispatch # APIView的dispatch方法def dispatch(self, request, *args, **kwargs):
self.args = args self.kwargs = kwargs # self.initialize_request(request, *args, **kwargs) request是當次請求的request # request = self.initialize_request request是一個新的request物件 # 重新包裝成一個request物件,以後再用request物件,就是新的request物件了 request = self.initialize_request(request, *args, **kwargs) self.request = request self.headers = self.default_response_headers # deprecate?
try: # 三大認證模組(詳情參見下述內容) self.initial(request, *args, **kwargs)
# Get the appropriate handler method if request.method.lower() in self.http_method_names: handler = getattr(self, request.method.lower(), self.http_method_not_allowed) else: handler = self.http_method_not_allowed
response = handler(request, *args, **kwargs)
except Exception as exc: response = self.handle_exception(exc)
self.response = self.finalize_response(request, response, *args, **kwargs) return self.response
views.py中 class BooksAPIView(APIView): def get(self, request): # request已經不是原生django的request了,是drf自己定義的request物件 # print(self.request) print(request.data) return HttpResponse('ok')