Django学习笔记——View类视图和database基类的简单理解

View类视图

我们在views中写一些方法的时候,需要根据template的请求方法采用不同的逻辑代码,而每次都要判断方法就太影响效率了,所以这边我们引入类视图这个概念。
意思就是把一个类定义为视图类,在这个类中有一些固定的方法,对应了template相应的请求方法
我们常用的就是其中的—get()方法和post()方法

#首先就是要导包
from django.views.generic import View
#命名习惯在后面添加View,还要记得继承View
class TestView(View):

	#自带的get方法可以自动匹配到get请求
	def get(self,request):
		#逻辑代码
		return xxx
		
	#自带的post方法可以自动匹配到post请求
	def post(self,request):
		return HttpResponse('post')

在我们写好基础逻辑后,我们就要测试一下是否能运行我们的方法
那么如何让浏览器能找到类视图就是url的工作了

  • 首先我们先确定用户在浏览器输入网址
  • 进入项目同名文件夹下urls找到app的urls
  • 进入app的urls找到我们的类视图

那么问题来了,怎么写app的url找到类视图

from django.conf.urls import url
from APP名 import views
urlpatterns = [
    url(r'^test/', views.TestView.as_view())
]

记得后面的as_view()
ps.在导入views的时候,from APP名可能会报错,这是因为路径的问题,如果加上APP的文件夹名就不会报错,但是我们不加,因为在settings里面它有这样一段
sys.path.insert(0,os.path.join(BASE_DIR,'apps'))
在基础路径后面已经加了apps了,所以导入就不用写了,飘红线了也不要紧,并不影响运行

database基类

所谓基类,就是基础类,就是底层的父类
基类的使用面很广,但他的意义就一个,那就是简化代码。
将需要重复使用的方法或者定义的数据写在基类,等需要使用的时候子类继承基类,这样就可以节省很多代码,让我们的方法的看上去更有目的性,也让编写的我们节约很多时间。
在我们的view视图的方法当中就会遇到许多重复的代码,例如从session中获取各种对象。
model中也有许多重复代码,例如is_delete等是否删除等字段。

猜你喜欢

转载自blog.csdn.net/weixin_43962136/article/details/85078071