Django - 视图
一、视图分三部分
- 用户的请求 request
- 对用户请求的逻辑处理 handler
- 将处理后的数据返回给用户 response
二、视图面向对象的写法
1.导入View基类
from django.views.generic import View
2.定义子类,再定义函数
Class Test(View):
def get(self, request):
return xxx
—————————————————————————
app 中view.py
from django.views.generic import View # 要导入View基类
from django.http import HttpResponse
class Index(View):
def get(self, request, name, age):
print(dir(request)) # 查看request方法,可以在终端中看到
return HttpResponse("hello I am {0}, age is {1}".format(name, age)) # 返回的内容和上节课一样
app urls.py中
from django.urls import path
from app.views import Index # 把之前的index函数改为Index类
urlpatterns = [
path("<str:name>/<int:age>", Index.as_view(), name = "index") # 第二个参数也是Index
] # as_view()方法,是基于基类View的方法
查了一下:django的类视图拥有自动查找指定方法的功能, 是通过调用as_view()方法实现
(再复杂的就有点看不懂了,之后懂了再补充修改吧)
终端中显示的request方法