FBV:

Function Base View,基于函数的视图

views.py:

from django.shortcuts import render, HttpResponse

# FBV
def upload(request):
if request.method == "POST":
filename = request.FILES["upload_file"].name
with open(filename, "wb") as f:
for chunk in request.FILES["upload_file"].chunks():
f.write(chunk)
return HttpResponse("上传OK")
else:
return render(request, "upload.html")

urls.py:

from django.conf.urls import url
from app01 import views urlpatterns = [
url(r'^upload/', views.upload), # FBV
]

CBV:

Class Base View,基于类的视图

views.py:

from django.shortcuts import render, HttpResponse
from django.views import View # CBV 需要导入 # CBV
class Upload(View):
# 定义 get 函数,用于处理 get 请求
def get(self, request):
return render(request, "upload.html") # 定义 post 函数,用于处理 post 请求
def post(self, request):
filename = request.FILES["upload_file"].name
with open(filename, "wb") as f:
for chunk in request.FILES["upload_file"].chunks():
f.write(chunk)
return HttpResponse("上传OK")

urls.py:

from django.conf.urls import url
from app01 import views urlpatterns = [
# url(r'^upload/', views.upload), # FBV
url(r'^upload/', views.Upload.as_view()), # CBV
]

最新文章

  1. C++ std::multimap
  2. nginx整理
  3. MYSQL 5.7 无法启动(Could not open error log file errno 2)
  4. Spring的xml文件配置方式实现AOP
  5. php实现木桶排序
  6. pt-table-checksum使用实践
  7. 浅谈JavaScript中的闭包
  8. bzoj1211: prufer序列 | [HNOI2004]树的计数
  9. 从零开始搭建Docker Swarm集群
  10. 提高PHP开发质量的36个方法(精品)
  11. Windows内核对象
  12. psutil模块安装指南(win与linux)
  13. [转载]Python模块学习 ---- subprocess 创建子进程
  14. python 资料
  15. 织梦dedecms源码安装方法
  16. BroadcastReceiver学习笔记
  17. 打造属于前端的Uri解析器
  18. (转)QT常用快捷键
  19. linux笔记2.21
  20. Spring实战——Profile

热门文章

  1. springboot框架笔记
  2. 什么是ARP协议?
  3. 011——MATLAB清除工作控件变量
  4. IDEA快速实现接口快捷方式
  5. Oracle Replace()函数与translate()函数 替换函数
  6. html5 打开摄像头
  7. 2017.10.5 国庆清北 D5T2 整除
  8. spark sql 常用语句
  9. Mujin Programming Challenge 2017题解
  10. deepin 深度Linux系统 15.11 链接蓝牙鼠标问题