request与HttpResponse

request对象
(1).request对象的概念
概念
每一个视图函数都必须接受一个形参 接受django传递过来的请求对象 request也就是在浏览器请求的时候 给视图函数的数据
(2).request对象的创建
服务器接受用户的请求后 会自动创建request对象,视图函数的第一个参数即为request对象
(3).属性
1.path 获取请求的路径
2.method 获取请求的方法
3.GET获取get传参
获取一个key的值
request.GET.get('key')get方法取值
request.GET['key'] 下标取值
两种获取get传参的区别:使用下标取值,如果值不存在则keyerror,get方法取值如果key不在则执行默认值,没有默认值则为None
(4)POST获取post传递过来的数据
views.py

# 获取POST表单传递过来的数据
# http://127.0.0.1:8000/form/
def form(req):
      if req.method == 'GET':
            return  render(req,'form.html')
      if req.method == "POST":
            return  HttpRespons(req.POST.get('username'))

url.py

from django.conf.urls import url
from App import views
urlpatterns = [
        url(r'^form/$',views.form),
]

form.html




    
    Title


form表单

用户名

密码

(5).META获取所有的header头信息

# 获取所有的header头信息
def meta(req):
      print(req.META)
      print(req.META.get('REMOTE_ADDR'))
      values = req.META.items()
       html = []
       for k,v values:
            html.append('{}{}'.format(k,v))
       return HttpResponse('%s
' % '\n'.join(html))

(6)方法
1.request_full_path()获取完整的请求路径
2.request_host获取主机和端口
3.request.is_ajax是否为ajax请求

HttpResponse响应
概述:给浏览器的请求做出响应
(1)相应的方法
HttpResponse()
特点:不进行模板的调用,直接响应
实例

def form(req):
      return HttpRespons('form')

属性
obj = HttpResponse()
1.obj.content设置/获取内容
2.obj.status_code设置/获取状态码
obj.status_code = 404

request与HttpResponse_第1张图片
image

你可能感兴趣的:(request与HttpResponse)