zoukankan      html  css  js  c++  java
  • Python自动化之django视图

    视图

    1、获取用户请求数据

    	request.GET
    	request.POST
    	request.FILES
    	PS:
    		GET:获取数据				
    		POST:提交数据
    

    request其他方法详解:http://djangobook.py3k.cn/appendixH/

    2、checkbox等多选的内容

    request.POST.getlist("name值")
    

    getlist() 括号里面添加name属性的值来区分是那个tag传过来的

    3、上传文件

    注意 FILES 只在请求的方法是 POST ,并且提交的 <form>包含 enctype="multipart/form-data" 时 才包含数据。否则, FILES 只是一个空的类字典对象。

    	obj = request.FILES.get('fafafa')
    	obj.name
    	f = open(obj.name, mode='wb')
    	for item in obj.chunks():
    		f.write(item)
    	f.close()
    
    • chunks():按块返回文件,通过在for循环中进行迭代,可以将大文件按块写入到服务器中;
    • read():从文件中读取整个上传的数据,这个方法只适合小文件;
    • .multiple_chunks():这个方法根据myFile的大小,返回True或者False,当myFile文件大于2.5M(默认为2.5M,可以调整)时,该方法返回True,否则返回False,因此可以根据该方法来选择选用read方法读取还是采用chunks方法:
    • name:这是一个属性,不是方法,该属性得到上传的文件名,包括后缀,如123.exe;
    • size:这也是一个属性,该属性得到上传文件的大小。

    FBV和CBV

    • function base view
    • class base view

    使用CBV需要配置url.py文件

    url(r'^home/', views.Home.as_view())

    Home是views文件的类的名称

    class Home(View):
    def get(self, request):
    	pass
    def post(self, request):
    	pass
    

    类必须继承View类,类里面的方法必须小写。
    这是request的方法
    http_method_names = ['get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace']

  • 相关阅读:
    LeetCode Path Sum
    实训篇-Html-表单练习
    实训篇-Html-frameset框架集
    实训篇-Html-超链接练习
    实训篇-Html-列表练习
    实训篇-Html-表格练习2
    实训篇-Html-表格练习1
    实训篇-Html-超链接a标签使用
    实训篇-Html-多媒体标签
    实训篇-Html-标题,段落,字体
  • 原文地址:https://www.cnblogs.com/wspblog/p/6169609.html
Copyright © 2011-2022 走看看