Django——视图

发布时间 2023-04-14 16:09:09作者: 新兵蛋Z

Django的视图(View)

  • 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。
  • 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。
  • 将视图放置在项目(project)或应用程序(app)目录中的名为views.py的文件中

FBV与CBV

FBV(Funciton Based View)基于函数的view

CBV(Class Based Vies)基于类的view

# FBV版添加班级
def add_class(request):
    if request.method == "POST":
        class_name = request.POST.get("class_name")
        models.Classes.objects.create(name=class_name)
        return redirect("/class_list/")
    return render(request, "add_class.html")

 

注意,CBV需要在urls中需要修改一下

# urls.py中
url(r'^add_class/$', views.AddClass.as_view()),
# CBV版添加班级
from django.views import View

class AddClass(View):

    def get(self, request):
        return render(request, "add_class.html")

    def post(self, request):
        class_name = request.POST.get("class_name")
        models.Classes.objects.create(name=class_name)
        return redirect("/class_list/")