一.视图函数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

三. 给视图函数加装饰器

  1. 给FBV加装饰器

def wrapper(fn):
def inner(*args,**kwargs):
print("before")
ret = fn(*args,**kwargs)
print("after")
return ret
return inner @wrapper
def index(request):
return HttpResponse("ok")

FBV装饰器

  2. 给CBV加装饰器

from django.views import View
from django.utils.decorators import method_decorator def wrapper(fn):
def inner(*args,**kwargs):
print("before")
ret = fn(*args,**kwargs)
print("after")
return ret
return inner @method_decorator(warrper,name="get") #第一种
class MyView(View):
name = "xxx" # 这是分组传来的参数 # 这个是分发post,get请求的,也可以用作装饰器
def dispatch(self,request,*args,**kwargs):
print("before")
ret = super().dispatch(request,*args,**kwargs):
print("after")
return ret @method_decorator(warrper) # 第二种
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()       重定向,跳转到一个页面

django的视图函数的更多相关文章

  1. Django之视图函数总结

    Django之视图函数总结 HttpRequest与HttpResponse http请求中产生两个核心对象: HttpRequest对象:用户请求相关的所有信息(对象) HttpResponse对象 ...

  2. django views视图函数返回值 return redirect httpresponse总结

    django views视图函数返回值 return redirect  render httpresponse总结

  3. Django 定义视图函数

    Django 定义视图函数 一.接收内容及文件处理 1.接收分类 # 获取数据 request.GET # 提交数据 request.POST # 获取文件 request.FILES 2.check ...

  4. 03 Django之视图函数

    一.Django的视图函数view 一个视图函数(类),简称视图,是一个简单的Python函数(类),它接受WEB请求并返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误, ...

  5. Django restframe 视图函数以及ModelSerializer的使用

    建立model数据库 from django.db import models __all__ = ['Book', 'Publisher', 'Author'] # Create your mode ...

  6. Django的视图函数和路由系统中一些没有用过的小点

    1.request对象 print("返回用户访问的url,但是不包括域名",request.path_info) print("返回请求的方法,全大写",re ...

  7. django views视图函数

    Django views.py视图文件 一. 创建views.py文件,在工程文件夹根目录创建views.py视图文件,其实任意文件名都可以,使用views是为了遵循传统. 注:所有的views函数都 ...

  8. Django中非视图函数获取用户对象

    今天遇到了一个问题:在Django中怎么从非视图函数中获取用户对象?怎么保证不同的请求获取到不同的用户对象? 平常我们获取用户对象使用的是: request.user 不得不说,这确实很方便. 但是, ...

  9. django中视图函数的FBV和CBV

    1.什么是FBV和CBV FBV是指视图函数以普通函数的形式:CBV是指视图函数以类的方式. 2.普通FBV形式 def index(request): return HttpResponse('in ...

随机推荐

  1. JavaScript:我总结的数组API

    栈/队列 数组es3: pop删除最后一项(栈) shift删除第一项(队列) push增加到最后(栈) unshift增加到最前(队列) reverse翻转 join转字符串 slice截取(切片) ...

  2. 【18/12/31】hashcat源码粗读 --- sha256部分

    还没有详细研究过sha256算法的详细原理,主要是移植cf10算法时,hashcat在cf10_parse_hash时并不是直接调用sha256_update和sha256_final, 而是为了pr ...

  3. repo

    repo init -b remoteBranchName repo sync repo start localBranchName --all 整体切分支 if error is tagger cl ...

  4. uni-app 使用 iconfont

    使用 uni-app 做项目时需要用到 iconfont.和 web 使用略有差别.谨以此记录. 因为 uni-app 不能使用本地字体图标库,所以不能直接下载使用. 1.将iconfont中需要的图 ...

  5. Linux 用户与组

    在 Linux 操作系统下,如何添加一个新用户到一个特定的组中?如何同时将用户添加到多个组中?又如何将一个已存在的用户移动到某个组或者给他增加一个组?对于不常用 Linux 的人来讲,记忆 Linux ...

  6. linux下Vim文本编辑器的常用快捷键

    Linux插入命令 a 在光标之后插入字符 A  把光标移动到行首尾进入插入模式 i 在光标之前插入字符 I 把光标移动到行首并进入插入模式 o 在光标下插入新行 O 在光标上插入新行 Linux定位 ...

  7. 《Go程序设计语言》读书笔记-函数

    函数包含连续执行的语句,可以使用代码中通过调用函数来执行他们,函数能够将一个复杂的工作切分成多个更小的模块,使多人写作变得容易.另外,函数对他的使用者隐藏了实现细节.这几方面的特性使得函数成为多数编程 ...

  8. 词根:lun = moon, 表示“月亮”

    词根:lun = moon, 表示“月亮” lunar [lun月亮,-ar形容词后缀,…的] 月亮的,太阴的,似月的,新月形的 semilunar [semi-半,lun月亮,-ar形容词后缀,…的 ...

  9. Java 数据类型与运算符

    JAVA数据类型分基本(内置)数据类型和引用数据类型. 区别: 基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上. 引用数据类型在被创建时,首先要在栈上给其引用(句柄)分配一块内存 ...

  10. pythone函数基础(15)接口开发初识

    导入需要的第三方模块 import flaskimport toolsimport json,redisimport random server = flask.Flask(__name__)#新建一 ...