基于类的视图

视图是可调用的,能接受用户请求和响应。视图远不只是个函数,Django提供了一些可用作视图的类,它允许你通过继承和复用构建自己的视图并且复用这写代码。 Django提供了适用于很多应用的基本视图类。所有视图类继承自View类,它处理视图链接到URLs,HTTP方法调度和其他简单的功能。

如何使用基于类的视图呢?

我们知道使用基于函数的视图跟python的普通函数一样,只是这个视图函数第一个参数为request,例子如下

# views.py
from django.http import HttpResponse


def my_view(request):
    if request.method == "GET":
        return HttpResponse("hello")


# urls.py
from django.urls import path
from .views import my_view

urlpatterns = [
    path("^my_view$", my_view, name="my_view"),
]

从上面可以知道,我们要继承某个Django提供给我们的内部视图类,在这个内置的视图类中扩展我们的功能即可,具体例子如下

# views.py
from django.http import HttpResponse
from django.views import View


class MyView(View):
    def get(self, request):
        return HttpResponse("hello")


# urls.py
from django.urls import path
from .views import MyView

urlpatterns = [
    path("my_view/", MyView.as_view()),
]

that's all

results matching ""

    No results matching ""