我们来看下views视图中的函数的request这个变量到底有哪些方法和属性

1、request.path

结果:不包括域名和端口的url路径

2、request.method

结果:这次请求的方法,这个方法有get和post两种

3、request.POST.get():获取通过post方式提交的数据的信息,这个获取的是一个字典对象

结果:

4、COOKIES

5、sessions

在来看下HttpResponse对象

1、render,返回一个html文件,render的第一个参数必须是request,第二个参数就是html文件,第三个参数是渲染模板语言,第三个参数不是必须的

2、render中的参数有个locals(),我们先通过一个例子看下locals()有社么作用?

比如我们要渲染一个html文件

然后我们在views函数中渲染这个模板

页面得到的结果

方式2,这个时候我们就需要用到locals()这个方法,其实locals()方法就是代表所有的本地变量

首先我们要修改一下html文件中的 变量,要和views函数中的变量的名称保持一致

然后我们修改views中的视图函数

最后我们通过页面访问这个html。得到的效果和方式1是一样的

补充一个render_to_response方法,作用和render的作用一样,只是不用写request参数了,也可以和render一样返回一个html页面,同时渲染html文件

前端同样也可以实现渲染的效果

3、redirect():用来做页面重定向的,比如我们

先导入redirect这个模块

然后使用redirect跳转到其他页面

我们也可以跳转到本域的html文件上,这个必须写路径

那我们怎么找到这个路径呢?这个路径其实就是我们如何通过页面去访问这个html文件,那么就把这个路径放在redirect的参数中

我们在页面访问tiantiantiyu,就会跳转到blog/news这个页面上

rendir和redirect的主要区别

1、rendir主要是用来返回一个页面,并且渲染这个页面

2、redirect主要是用来跳转到一个页面,重新执行一次url路径中的函数

其实本质上rendir和redirect都可以实现返回一个页面给前端的用户,但是最主要的问题就是使用rendir他的url路径没有变化,如果一旦刷新页面,则又回到之前的页面,而使用redirect则是url路径也变了,刷新不会回到之前的url路径

我们可以使用redirect和rendir都实现返回一个登陆成功,返回一个主页的页面的效果

先看使用redirect

def login(request):
if request.method == "GET":
return render(request,"login.html")
else:
name = "崔皓然"
# return render(request, "home.html", {"user_name": name})
return redirect("/app1/home/") def home(request):
name = "周雍博"
return render(request,"home.html",{"user_name":name})

  

我们这个时候看页面的url

在来看使用rendir

def login(request):
if request.method == "GET":
return render(request,"login.html")
else:
name = "崔皓然"
return render(request, "home.html", {"user_name": name})
# return redirect("/app1/home/") def home(request):
name = "周雍博"
return render(request,"home.html",{"user_name":name})

  

在来看url的路径

其实这个是rendir和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的视图函数和路由系统中一些没有用过的小点

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

  6. django的视图函数

    一.视图函数view 视图函数是接收一个请求(request对象),并返回响应的函数 1. HttpResponse响应请求 这个方法是返回字符串一类的,可以识别标签 2. render响应请求 re ...

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

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

  8. django views视图函数

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

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

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

随机推荐

  1. Hive基础之Hive环境搭建

    Hive默认元数据信息存储在Derby里,Derby内置的关系型数据库.单Session的(只支持单客户端连接,两个客户端连接过去会报错): Hive支持将元数据存储在关系型数据库中,比如:Mysql ...

  2. python 之路06day

    一   字符编码 1   字符编码的定义: 计算机要想工作必须通电,即用‘电’驱使计算机干活,也就是说‘电’的特性决定了计算机的特性.电的特性即高低电平(人类从逻辑上将二进制数1对应高电平,二进制数0 ...

  3. nodejs——发送邮件(带附件)

    用到的包是 nodemailer,简单,有效. 1.auth 中的 pass,是指“邮箱第三方登录授权码”,如何获取授权码,以QQ邮箱为例,请点击:http://jingyan.baidu.com/a ...

  4. dos批处理文件中的变量小结

    很多情况下我们需要用到一些批处理文件中的变量,方便我们执行一些操作,这里简单整理下,方便需要的朋友   批处理中的变量,我把他分为两类,分别为"系统变量"和"自定义变量& ...

  5. PHP获取照片exif信息

    在这个没图说个屁的年代,照片还是很重要的.如果照片上传后会自动加上 照片相关信息,那用户体验的确会好很多,本着这个想法,今天尝试了下 PHP获取照片exif信息,重要的是 获取图片的GPS信息,如果再 ...

  6. 模拟Vue之数据驱动1

    一.前言 Vue有一核心就是数据驱动(Data Driven),允许我们采用简洁的模板语法来声明式的将数据渲染进DOM,且数据与DOM是绑定在一起的,这样当我们改变Vue实例的数据时,对应的DOM元素 ...

  7. J2SE 8的输入输出--Path/Paths File/Files; FileSystems 类的用法

    Path的简单用法 //1. Path 正常用法 Path path = Paths.get("src/main/resource/zip"); logger.debug(path ...

  8. 机器学习入门-K-means算法

    无监督问题,我们手里没有标签 聚类:相似的东西聚在一起 难点:如何进行调参 K-means算法 需要制定k值,用来获得到底有几个簇,即几种类型 质心:均值,即向量各维取平均值 距离的度量: 欧式距离和 ...

  9. Mysql 日期类型 date、datetime、timestamp.

    三种:  date.datetime.timestamp. date : 格式 "YYYY-MM-DD" ,范围 "1000-00-00"到"9999 ...

  10. 五种方法实现Java的Singleton单例模式

    面试的时候经常会问到Java的单例模式,这道题能很好的考察候选人对知识点的理解程度.单例模式要求在系统运行时,只存在唯一的一个实例对象. 下面我们来详细剖析一下其中的关键知识点,并介绍五种实现方法,以 ...