Django视图系统(view)

Posted dong-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django视图系统(view)相关的知识,希望对你有一定的参考价值。

一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。

响应可以是一张网页的html内容,一个重定向,一个404错误,一个XML文档,或者一张图片。

无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它在你当前项目目录下面。

 

 

一. CBV和FBV

  1. FBV是基于函数的view

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")

  2. CBV是基于类的view

 

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/")

  注意 : 

    使用CBV时, urls.py中的映射关系也要修改.

url(r^add_class/$, views.AddClass.as_view()),

 

以上是关于Django视图系统(view)的主要内容,如果未能解决你的问题,请参考以下文章

Django View(视图系统)

Django 的View(视图)系统

Django的View(视图)和路由系统

Django3_Url控制系统和View视图

Django视图系统(view)

Django之views系统