跳至主要內容

视图 FBV与CBV 的使用

刘春龙原创...小于 1 分钟PythonDjango教程文档

视图是可以用来调用的,用来处理请求(request)并返回响应(response)

Django 的视图有两种形式 : FBV 与 CBV

  • FBV 是基于函数的视图 (function base views)
  • CBV 是基于类的视图(class base views)

FBV 函数视图

就是在视图里使用函数处理请求

from django.urls import path
from modules.login.views import (
    loginFunc1,
    loginFunc2,
    loginFunc3,
)

urlpatterns = [
    path("func1/", loginFunc1, {"name": "lcl"}),
    path("func2/", loginFunc2),
    path("func3/", loginFunc3),
]
from django.http import HttpResponse

def loginFunc1(request, name):
    return HttpResponse(f"返回{name}的数据")

def loginFunc2(request):
    return HttpResponse("func2")

def loginFunc3(request):
    return HttpResponse("func3")

CBV 类视图

就是在视图里使用类处理请

from django.urls import path
from modules.login.views import LoginViwe

urlpatterns = [
    path("cbv/", LoginViwe.as_view()),
]




 

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


class LoginViwe(View):
    def get(self, request):
        return HttpResponse("get OK")

    def post(self, request):
        return HttpResponse("post OK")

此时分别用:get 和 post 请求去访问: http://127.0.0.1:8000/login/cbv/open in new window

上次编辑于:
贡献者: 刘春龙
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.7