from django.shortcuts import render
def login(request):
#request参数就是HTTPrequest对象
print(request)#<WSGIRequest: GET '/login/'>
#返回请求的路径,纯路径
print(request.path)#/login/
#返回请求的路径,纯路径
print(request.path_info)#/login/
#返回的是请求的全路径包括参数,不包含ip地址和端口,没有参数就返回纯路径
print(request.get_full_path())#/login/?a=1&b=1
#查看当前的请求类型
print(request.method)#GET 一般常见的是GET和POST
#返回的是一个QueryDict对象,是HTTP通过GET请求从客户端发送的请求数据
#可以使用get方法获取对象的值:name=request.GET.get('username')
print(request.GET)#<QueryDict: {}>
# 返回的是一个QueryDict对象,是HTTP通过POST请求从客户端发送的请求数据
# 可以使用get方法获取对象的值:name=request.POST.get('username')
print(request.POST)#<QueryDict: {}>
注意:键值对的值是多个的时候,比如checkbox类型的input标签,select标签,需要用
request.POST.getlist("hobby")
#返回HTTP请求中的请求体,是byte类型,POST请求的数据就是在body中提取的,GET请求获取不到数据
print(request.body)
#返回的是一个python字典,包含所有的HTTP请求头信息
print(request.META)
return render(request,'login.html')
#META的常见值(了解):
CONTENT_LENGTH —— 请求的正文的长度(是一个字符串)。
CONTENT_TYPE —— 请求的正文的MIME 类型。
HTTP_ACCEPT —— 响应可接收的Content-Type。
HTTP_ACCEPT_ENCODING —— 响应可接收的编码。
HTTP_ACCEPT_LANGUAGE —— 响应可接收的语言。
HTTP_HOST —— 客服端发送的HTTP Host 头部。
HTTP_REFERER —— Referring 页面。
HTTP_USER_AGENT —— 客户端的user-agent 字符串。
QUERY_STRING —— 单个字符串形式的查询字符串(未解析过的形式)。
REMOTE_ADDR —— 客户端的IP 地址。
REMOTE_HOST —— 客户端的主机名。
REMOTE_USER —— 服务器认证后的用户。
REQUEST_METHOD —— 一个字符串,例如"GET" 或"POST"。
SERVER_NAME —— 服务器的主机名。
SERVER_PORT —— 服务器的端口(是一个字符串)。
#示例:
请求中的任何 HTTP 首部转换为 META 的键时,都会将所有字母大写并将连接符替换为下划线最后加上 HTTP_ 前缀。
所以,一个叫做 X-Bender 的头部将转换成 META 中的 HTTP_X_BENDER 键。
def main(request):
#向前端返回一个字符串
return HttpResponse('返回一个字符串')
#向前段返回一个HTML页面
return render(request,'main.html')
#临时重定向,将请求指向另一个页面,括号里面写路径
return redirect('/lmain/')