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']

  • 相关阅读:
    记第一场省选
    POJ 2083 Fractal 分形
    CodeForces 605A Sorting Railway Cars 思维
    FZU 1896 神奇的魔法数 dp
    FZU 1893 内存管理 模拟
    FZU 1894 志愿者选拔 单调队列
    FZU 1920 Left Mouse Button 简单搜索
    FZU 2086 餐厅点餐
    poj 2299 Ultra-QuickSort 逆序对模版题
    COMP9313 week4a MapReduce
  • 原文地址:https://www.cnblogs.com/wspblog/p/6169609.html
Copyright © 2011-2022 走看看