reuqest对象练习

一、request对象介绍

当客户端向服务器端发送请求时,服务器为本次请求创建request对象,并在调用Servlet的service方法时,将该对象传递给service方法。Request对象中封装了客户端发送过来的所有的请求数据

request.method  # 获取该请求的方法,比如:GET、POST .........
request.POST  # 获取用户post请求提交的普通数据不包含文件
request.POST.get()  # 只获取列表最后一个元素
request.POST.getlist()  # 直接将列表取出

request.GET  # 获取用户提交的get请求数据
request.GET.get()  # 只获取列表最后一个元素
request.GET.getlist()  # 直接将列表取出

二、request练习

request.method练习

根据不同的请求方式,展示不同的内容

# 视图层views.py
def login(request):
    if request.method == 'GET':
        return HttpResponse('哇,居然是get请求耶')
    elif request.method == 'POST':
        return HttpResponse('竟然是恐怖如斯的POST请求')
    return render(request, 'login.html')

request.POST练习

def login(request):
    print(request.POST)
    return render(request, 'login.html')
    
# 用户在浏览器输入账户和密码,我们打印出来看看
# request.POST的打印结果
<QueryDict: {'username': ['abc'], 'password': ['123']}>

request.POST.get()和request.POST.getlist()

def login(request):
    print(request.POST)
    
    username = request.POST.get('username')
    password = request.POST.getlist('password')
    
    print(username,type(username))
    print(password,type(password))
    
    return render(request, 'login.html')

# 运行结果
<QueryDict: {'username': ['w'], 'password': ['123']}>
w <class 'str'>
['123'] <class 'list'>

'''
get拿到的数据是字符串,它只拿列表的最后一个元素
getlist拿到的数据是列表,它会把列表整个都拿出来
'''

request.GET的方法和POST一样的,这里就不演示了

posted @ 2021-05-25 15:17  黑影Poco  阅读(67)  评论(0)    收藏  举报