Python - Django - FBV 和 CBV
2024-08-24 08:39:35
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
]
最新文章
- C++ std::multimap
- nginx整理
- MYSQL 5.7 无法启动(Could not open error log file errno 2)
- Spring的xml文件配置方式实现AOP
- php实现木桶排序
- pt-table-checksum使用实践
- 浅谈JavaScript中的闭包
- bzoj1211: prufer序列 | [HNOI2004]树的计数
- 从零开始搭建Docker Swarm集群
- 提高PHP开发质量的36个方法(精品)
- Windows内核对象
- psutil模块安装指南(win与linux)
- [转载]Python模块学习 ---- subprocess 创建子进程
- python 资料
- 织梦dedecms源码安装方法
- BroadcastReceiver学习笔记
- 打造属于前端的Uri解析器
- (转)QT常用快捷键
- linux笔记2.21
- Spring实战——Profile