1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
| from django.shortcuts import render,redirect
# Create your views here. # 首先导入HttpResponse模块 from django.shortcuts import HttpResponse
import datetime
# request属性 # request.GET # 获取类似于字典的对象QueryDict ,包含http get所有参数 # 比如?id=3&sid=4 # <QueryDict: {'id': ['3'], 'sid': ['4']}> # 可通过request.GET.get('id')获取id的值
# request.POST # 获取类似于字典的对象QueryDict ,包含http post所有参数 # <QueryDict: {'user': ['ropon'], 'pwd': ['123']}> # 可通过request.POST.get('user')获取user的值 # POST请求可以为空 即表单中没有任何数据 QueryDict字典也会创建 # 要判断是否post请求 要使用if request.method == 'POST' # 如果通过POST上传文件 文件信息将包含在FILES属性(request.FILES) # 键值对的值是多个时 比如CheckBox类型input标签 select标签
# request.body # 一个字符串 表示请求报文的主体 # b'user=1&pwd=2&shuiguo=pingguo&slist=se3'
# request.path # request.get_full_path() # 一个字符串 表示请求路径 # 比如url地址是 http://127.0.0.1:8000/app01/ request.path值是/app01/
# request.method # 一个字符串 表示请求使用HTTP方法 比如GET POST
# request.encoding # 一个字符串 提交数据的编码方式 如果值为None 表示使用DEFAULT_CHARSET 设置 默认'utf-8'
# 这个属性是可写的 可修改它来修改访问表单数据使用的编码 # 修改后对属性的任何访问(比如从GET或POST中读取数据)将使用新的 encoding值 # 一般在知道变表单数据的编码不是DEFAULT_CHARSET 才修改它
# request.META # 一个标准字典 包含所有HTTP首部 # CONTENT_LENGTH 请求正文的长度 是一个字符串 # CONTENT_TYPE 请求正文的MIME类型 # HTTP_ACCEPT 响应可接收的Content-Type # HTTP_ACCEPT_ENCODING 响应可接收的编码 # HTTP_ACCEPT_LANGUAGE 响应可接收的语言 # HTTP_HOST 客户端发送的HTTP Host头部 # HTTP_REFERER referer页面 # HTTP_USER_AGENT 客户端UA信息 # QUERY_STRING 比如请求地址http://127.0.0.1:8000/app01/?id=2&sid=4 那个此值为id=2&sid=4 # REMOTE_ADDR 客户端的IP地址 # REMOTE_HOST 客户端的主机名 # SERVER_PORT 服务器端口 是一个字符串
# request.FILES # 取类似于字典的对象MultiValueDict ,包含所有上传文件的信息 # 可通过request.FILES.get('f1') 获取上传文件的文件名
# request.COOKIES # 一个标准字典 包含所有cookie 是键值对 且都是字符串
# request.session # 一个可读可写的类似于字典的对象 表示当前会话 而且启用会话支持才可用
# request.user 用户认证组件下才可用
# request.is_ajax() # 是否ajax请求
def index(request): # if request.method == 'GET': # # now = datetime.datetime.now() # # html = '现在时间是: '+str(now) # # html = "<html><body>It is now %s.</body></html>" % now # # # print(request.GET.get('id')) # # # return HttpResponse(html) # msg ='' # else: # # # print(request.POST) # print(request.POST.getlist('shuiguo')) # print(request.POST.getlist('slist')) # # # user = request.POST.get('user') # pwd = request.POST.get('pwd') # if user == 'ropon' and pwd == '123': # msg = 'success' # else: # msg = 'fail' msg = 'ok' # print(request.META.get('SERVER_PORT')) # print(request.FILES.get('f1')) # print(request.user) print(request.is_ajax())
return render(request, 'app01/index.html', {'msg': msg})
# HttpResponse() 传入一个字符串作为响应体 # render(request, template_name[, context]) # 结合一个给定的模板和一个给定的上下文字典 返回一个渲染后HttpResponse 对象 # request 用于生成显影的请求对象 # template_name 要使用的模板完整名称 # context 添加到模板上下文的一个字典 默认是一个空字典 # 总结 render方法就是将一个模板页面中模板语法进行渲染 最终渲染成一个html页面作为响应体
# redirect() # 传递要重定向的一个硬编码URL
|