我之前说过需要重点去了解view和model,下面是我的总结。
视图函数是存在view.py里面的,视图函数的主要功能是接收请求、返回响应。在建立应用程序后,先在URL配置文件中加一条配置项指明URL与视图函数的对应关系。然后按照实际需求在视图函数中编写逻辑代码来实现相应的功能,返回一个HTTP响应。
下面是一些简单的理解:
一.视图函数view
视图函数是接收一个请求(request对象),并返回响应的函数
1. HttpResponse响应请求
这个方法是返回字符串一类的,可以识别标签
2. render响应请求
render(request,".html",[**kwargs]),返回一个html页面,参数可以传给html中需要渲染的变量
3. redirect响应请求
redirect(reverse("url"),[*args]),重定向跳转到一个页面
二.CBV和FBV
1. FBV function base views
在视图函数中使用函数处理请求
def index(request): return HttpResponse("ok")
简单的FBV
2. CBV class base views
在视图函数中使用类处理请求
from django.views import View class MyView(View): name = "xxx" # 这是分组传来的参数 def post(self,request): return HttpResponse("post") def get(self,request): return HttpResponse("get") urls.py配置 from app.views import MyView url(r"正则",MyView.as.view(name="xxx"))
简单的CBV
三. request对象
request.method 请求方式
request.GET get请求的所有数据,是一个字典
request.POST post请求的所有数据,是一个字典
request.path 请求路径
request.get_full_path() 获取带有参数的路径
request.META() 请求头信息,是一个字典
四. response对象
HttpSponse("xxx") 响应一个字符串,可以识别标签
render(request,".html"[**kwargs]) 响应一个页面,参数可以渲染页面中需要的
redirect() 重定向,跳转到一个页面