HttpRequest与HttpResponse

http请求中产生两个核心对象:

HttpRequest对象:用户请求相关的所有信息(对象)

HttpResponse对象:响应字符串

 

HttpRequest对象的属性和方法:

request.path       # 获取访问文件路径

request.method   #获取请求中使用的HTTP方式(POST/GET)

request.body      #含所有请求体信息 是bytes类型

request.GET        #GET请求的数据(类字典对象)  请求头中的url中?后面拿值
request.POST     # POST请求的数据(类字典对象) 请求体里拿值

request.COOKIES     #包含所有cookies的标准Python字典对象;keys和values都是字符串。

request.FILES:      包含所有上传文件的类字典对象;FILES中的每一个Key都是<input type="file" name="" />标签中
                 name属性的值,FILES中的每一个value同时也是一个标准的python字典对象,包含下面三个Keys:

                 filename:      上传文件名,用字符串表示
                 content_type:   上传文件的Content Type
                 content:       上传文件的原始内容


request.user:       是一个django.contrib.auth.models.User对象,代表当前登陆的用户。如果访问用户当前
                 没有登陆,user将被初始化为django.contrib.auth.models.AnonymousUser的实例。你
                 可以通过user的is_authenticated()方法来辨别用户是否登陆:
                 if req.user.is_authenticated();只有激活Django中的AuthenticationMiddleware
                 时该属性才可用

request.session:      唯一可读写的属性,代表当前会话的字典对象;自己有激活Django中的session支持时该属性才可用

request.GET.get('name')    拿到GET请求里name的值

如果某个键对应有多个值,则不能直接用get取值,需要用getlist,如:

request.POST.getlist("hobby")


请求url:http://127.0.0.1:8000/index.html/23?a=1

request.path : 请求路径       
       request.path结果为:/index.html/23

request.get_full_path()
       request.get_full_path()结果为:/index.html/23?a=1

键值对的值是多个的时候,比如checkbox类型的input标签,select标签,需要用:
request.POST.getlist("hobby")

  

  

HttpResponse对象的属性和方法:

对于HttpRequest对象来说,是由django自动创建的,但是,HttpResponse对象就必须我们自己创建。每个view请求处理方法必须返回一个HttpResponse对象。
HttpResponse类在django.http.HttpResponse

在HttpResponse对象上扩展的常用方法:

页面渲染:(返回一个页面)
render()(推荐)
render_to_response()

页面跳转:()
redirect("路径")

locals():可以直接将函数中所有的变量传给模板

  

 

render 函数

 

render方法主要是将从服务器提取的数据,填充到模板中,然后将渲染后的html静态文件返回给浏览器,这里一定要注意:render渲染的是模板。

render方法的作用:将指定页面渲染后返回给浏览器。

数据主要有两部分:

给定的模板:html文件

给定的上下文字典:需要填充到html文件的变量

 

render()的格式:

render(request, template_name[, context])
参数:
     request: 用于生成响应的请求对象。

     template_name:要使用的模板的完整名称,可选的参数

     context:添加到模板上下文的一个字典。默认是一个空字典。如果字典中的某个值是可调用的,视图将在渲染模板之前调用它。

     content_type:生成的文档要使用的MIME类型。默认为DEFAULT_CONTENT_TYPE 设置的值。

     status:响应的状态码。默认为200。

 

 

使用示例 

urls.py

from django.contrib import admin
from django.urls import path
from blog import  views



urlpatterns = [
path('show_time/',views.show_time),
]
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-08-31
  • 2021-05-18
  • 2022-02-21
  • 2022-03-05
猜你喜欢
  • 2022-02-02
  • 2021-10-31
  • 2022-12-23
  • 2022-12-23
  • 2022-01-04
  • 2021-11-04
  • 2022-02-02
相关资源
相似解决方案