django中request对象


request.method  # 获取请求方式名(纯大写的字符串)
request.POST  # 获取post请求提交的普通数据
    request.POST.get()
    request.POST.getlist()
request.GET  # 获取get请求url问号后面的数据    
    request.GET.get()
    request.GET.getlist()
request.method # 返回请求方式 并且是全大写的字符串形式
request.POST # 获取用户post请求提交的普通数据不包含文件
request.POST.get() # 只获取列表最后一个元素
request.POST.getlist() # 直接将列表取出
request.GET # 获取用户提交的get请求数据
request.GET.get() # 只获取列表最后一个元素
request.GET.getlist() # 直接将列表取出
request.FILES # 取文件
request.path 、request.path_info、request.get_full_path()

get请求携带的数据是有大小限制的 大概好像只有4KB左右

而post请求则没有限制

input框需要加上name属性

1 request对象初识

 

 

2 request.method

返回请求方式 并且是全大写的字符串形式

3 request.POST

from django.http.request import QueryDict 

QueryDict 本质就是一个字典,比字典强大。不能修改值,一改就报错

 

获取用户post请求提交的普通数据不包含文件

 

3.1 request.POST.get() 只获取列表最后一个元素

3.2 request.POST.getlist() 直接将列表取出

4 request.GET

获取用户提交的get请求数据

 

4.1 request.GET.get()

只获取列表最后一个元素

4.2 request.GET.getlist()

直接将列表取出

 

5 request.FILES

form表单上传文件及后端如何操作

form.html

{% csrf_token %}

views.py

def login(request):  
    if request.method == 'POST':
        username = request.POST.get('username')  # 默认只会取列表最后一个元素
        password = request.POST.get('password')
        if username == 'jason' and password == '123':
            return HttpResponse('OK')
        else:
            return HttpResponse('用户名或密码错误')
    return render(request, 'login.html')
 

 

6 路径相关

request.path
request.path_info
request.get_full_path() : 能过获取完整的url及问号后面的参数