您的位置:首页 > 编程语言 > Go语言

Django入门3:视图views

2017-09-29 14:23 387 查看
1、获取用户请求数据
  1.1 request.GET 获取request.method='GET'的数据
    request.GET.get('name',None)

  1.2 request.POST 获取request.method='POST'的数据
    #一般针对传入的单个值的情形,如type='text','redio','password':
      request.POST.get('name',None)
    #一般针对传入的多个值的情形,如type='checkbox';<select multiple><option></option></select>
      request.POST.getlist('name',None)

  1.3 request.FILES 获取form表单文件
  获取文件时,POST中不带有其他信息,两者独立开来,更加方便使用。
  特别注意的是,只有当request方法是POST,且发送request的<form>有属性enctype="multipart/form-data"时,request.FILES中包含文件数据,否则request.FILES为空。

  PS:一般情形下,默认开发时,GET和POST在不同情形下使用。
    GET:获取数据
    POST:提交数据

2、checkbox等多选的内容
  request.POST.getlist()

3、上传文件

1 from django.views import View
2 class Home(View):
3     def dispatch(self, request, *args, **kwargs):
4     # 调用父类中的dispatch
5         print('before')
6         result = super(Home,self).dispatch(request, *args, **kwargs)
7         print('after')
8         return result
9
10     def get(self,request):
11         print(request.method)
12         return render(request, 'home.html')
13
14     def post(self,request):
15         print(request.method)
16         return render(request, 'home.html')


View Code
建议:两者都用,在不同的框架内,有些两者都支持,有些只支持其中之一。两种在生产环境中没有优先级,均可使用。

5、装饰器
后补

6、给用户返回数据的方式

  render(request, "templates内模板的文件的路径", {'k1': [1,2,3,4],"k2": {'name': '张扬','age': 73}})
  redirect("URL")
  HttpResponse(字符串)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: