Python - Django - FBV 和 CBV
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
]
Python - Django - FBV 和 CBV的更多相关文章
- python 视图 (FBV、CBV ) 、Request 和Response对象 、路由系统
一.FBV和CBV1.基于函数的view,就叫FBV(Function Based View) 示例: def add_book(request): pub_obj=models.Publisher. ...
- django——FBV与CBV
引言 FBV FBV(function base views) 就是在视图里使用函数处理请求. 在之前django的学习中,我们一直使用的是这种方式,所以不再赘述. CBV CBV(class bas ...
- Django FBV和CBV -
一.FBV和CBV 在Python菜鸟之路:Django 路由.模板.Model(ORM)一节中,已经介绍了几种路由的写法及对应关系,那种写法可以称之为FBV: function base view ...
- Python/Django(CBV/FBV/ORM操作)
Python/Django(CBV/FBV/ORM操作) CBV:url对应的类(模式) ##====================================CBV操作============ ...
- python 全栈开发,Day84(django请求生命周期,FBV和CBV,ORM拾遗,Git)
一.django 请求生命周期 流程图: 1. 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者post, ...
- Python菜鸟之路:Django 路由补充1:FBV和CBV - 补充2:url默认参数
一.FBV和CBV 在Python菜鸟之路:Django 路由.模板.Model(ORM)一节中,已经介绍了几种路由的写法及对应关系,那种写法可以称之为FBV: function base view ...
- django的FBV和CBV
title: python djano CBV FBV tags: python, djano, CBV, FBV grammar_cjkRuby: true --- python django的fu ...
- django请求生命周期,FBV和CBV,ORM拾遗,Git
一.django 请求生命周期 流程图: 1. 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者post, ...
- Django之FBV与CBV
一.FBV与CBV FBV(function based views),即基于函数的视图:CBV(class based views),即基于类的视图,也是基于对象的视图.当看到这个解释时,我是很萌的 ...
随机推荐
- dede5.7评论框不显示,文章页表情不显示,解决办法
dede5.7评论框不显示,文章页表情不显示,解决办法 进入dede后台,系统-系统基本参数-其它选项,找到模板引擎禁用标签,去掉里面的php,如图 进入dede模板目录,默认是/templets/d ...
- HDU - 4352 - XHXJ's LIS(数位DP)
链接: https://vjudge.net/problem/HDU-4352 题意: a 到 b中一个数组成递增子序列长度等于k的数的个数 思路: 因为只有10个数,使用二进制维护一个递增序列,每次 ...
- PHP流程控制之do...while循环的区别
do...while与while的语法结构基本一样,也是一个布尔型循环,功能也基本一样.大理石平台价格 基本语法规定如下: do { //代码块 } while (判断); do...while ...
- PHP流程控制之分支结构switch语句的使用
分支结构switch语句的使用 还记得我们最开始讲了这么一个故事: 王同学家里头特别有钱,所以他的行程方式和正常人的又有些不一样. 他的出行方式呢有6种,如下: 1,司机开车2,民航3,自己家的专机4 ...
- Linux 使用shell脚本实现自动SSH互信功能
说假设有一个1000台节点的Hadoop集群,要配置节点之间的SSH免密码登录,该如何用shell脚本实现?#!/bin/expect #循环1000台机器的IP地址,生成密钥文件authorized ...
- Spring入门(四)——整合Mybatis
1. 准备jar包及目录结构 2. 配置db.properties driver = com.mysql.jdbc.Driver url = jdbc:mysql://127.0.0.1:3306/H ...
- Pytest权威教程21-API参考-03-夹具(Fixtures)
目录 夹具(Fixtures) @ pytest.fixture config.cache的 capsys capsysbinary capfd capfdbinary doctest_namespa ...
- SpringCloud:入门介绍
1.微服务简介 业界大牛马丁.福勒(Martin Fowler) 这样描述微服务: 论文网址: https://martinfowler.com/articles/microse ...
- 【知识点】Java机密
Java添加PDF图章.动态图章 主要实现以下功能: 添加图片图章.即通过加载现有的图章(以图片形式),添加到PDF指定页面位置 添加动态图章.即加载PDF文档,并在动态的添加印章内容,包括印章字样. ...
- Linux crontab 定时任务使用
1.介绍 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程: 与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程 ...