目录

视图层

  JsonResponse对象

  form表单之文件上传

  request方法及属性

  FBV与CBV

JsonResponse对象

前端序列化
JSON.stringify() json.dumps()
JSON.parse() json.loads() 基础版(dic)
import jsom
def add(request):
a = {'12':'八嘎'}
b = json.dumps(a,ensure_ascii=False)
return HttpResponse(b) 进阶版(dic)
from django.http import JsonResponse def add(request):
a ={'你好':123,123:'夏一一'}
return JsonResponse(a,json_dumps_params={'ensure_ascii':False}) #原型化输出 (list) def add(request):
a = [123,'你好']
return JsonResponse(a,safe=False)
原型化输出没有解决

form 表单上传文件及后端操作

html部分

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
<p>username:<input type="text" name="username"></p>
<p>file:<input type="file" name="file"></p>
<input type='submit'>
</form>
</body>
</html>

视图函数部分

def upload(request):
if request.method =="POST":
print(request.FILES)
file_obj = request.FILES.get('file')
print(file_obj.name)
with open (file_obj.name,'wb') as f:
for i in file_obj.chunks():
f.write(i)
return render(request,"form.html")

request对象方法

''''
request.method #获取请求方式
request.POST #获取post请求
request.GET #获取get请求
request.FILES #获取文件 request.path #获用户输入的路由
request.path_info #获用户输入的路由
request.get_full-path() #获用户输入的路由,以及所携带对的参数 request.body #原生浏览器发来的二进制数据(了解)
'''

FBV与CBV

# 视图函数可以是类也可以是函数

#FBV
def index(request):
return HttpResponse('index') #CBV
from django.views import View class Mylogin(View):
def get(self,request):
return HttpResponse('get方法')
def post(self,request):
return HttpResponse('post方法') CBV 的路由匹配 path('login/',views.Mylogin.as_view()) '''
FBV和CBV各有千秋
CBV的特点: 能够直接获取请求方式,并根据请求方式不同匹配到对应的方法执行 ''' CBV原码剖析
(没搞懂,后期补存 加油liuun)

Django( 学习第四部 Django的views视)的更多相关文章

  1. Django 学习第四天——Django 模板标签

    一.模板标签: 作用:标签在渲染的过程中提供任意的逻辑:例如 if for...in... 等 标签语法:由 {% %} 来定义的:例如:{% tag %}xxx{% endtag %} 常用标签: ...

  2. django学习~第四篇

    django表单   1  今天继续来学学django的表单       首先介绍下http的方法,这是最基本的       GET 方法 GET一般用于获取/查询 资源信息,以?分割URL和传输数据 ...

  3. Django学习笔记之使用 Django项目开发框架

    Django 项目是一个定制框架,它源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来.Django 框架的核心组件有: 用于创建模型的对象关系映射 为最终用户设计的完美管理界面 ...

  4. [python][django学习篇][3]创建django web的数据库模型

    推荐学习博客:http://pythonzh.cn/post/8/ 博客或者web界面向用户展示内容,它需要从某个地方获取博客内容或者web界面内容,才能够展示出来.通常来说:某个地方指的就是数据库 ...

  5. Django学习系列8:django测试客户端

    """向浏览器返回真正的HTML响应,添加一个新的测试方法""" from django.test import TestCase from ...

  6. Django学习系列2:django环境中安装selenium并查看selenium版本号

    在Django环境中安装selenium (django) root@ranxf-TEST:/studydisk/Python_web_TDD/superlists# conda install se ...

  7. Django学习(四)---Admin配置

    1)Admin: admin是django自带的功能强大的自动化数据管理界面 被授权的用户可以直接在Admin中管理数据库(增.删.改.查) Django提供了许多针对Admin的定制功能 2)配置A ...

  8. drf ( 学习第四部 )

    目录 DRF框架中常用的组件 分页Pagination 异常处理Exceptions 自动生成接口文档 安装依赖 设置接口文档访问路径 访问接口文档网页 Admin 列表页配置 详情页配置 Xadmi ...

  9. Django学习之二:Django 项目创建 和 应用创建

    Django 项目创建 和 应用创建 创建一个Django项目 都是在相应平台的命令行环境下操作: 1. 进入用于存放项目的目录下 1.1 windows下切换目录:先进入具体的分区磁盘中如E盘就输入 ...

随机推荐

  1. mysql优化的常用方法

    mysql的优化,大体分为三部分:索引的优化,sql语句的优化,表的优化 1.索引的优化 只要列中含有NULL值,就最好不要在此列设置索引,复合索引如果有NULL值,此列在使用时也不会使用索引 尽量使 ...

  2. 【知识分享】Navicat Premium for Mac的破解教程

    转自Navicat Premium for Mac v12.0.22.0 破解教程,macOS上手动破解,无需补丁,无毒下载了Navicat,没有注册码,突然发现了这篇破解教程,竟爱不释手,顾Copy ...

  3. powershell编程实例-001-生成指定大小的null/zero文件或随机文件

    NULL文件,也有的称为zero文件,即全是二进制/十六进制的0文件 在powershell 中可以按如下方法生成指定大小的zero文件: 只需要修改大小即可,格式如3MB,或者2GB $tempFi ...

  4. VUE开发(二)nginx配合vue来实现前后端分离部署

    一.引言 由于本地是采用vue+spring boot实现的前后端分离项目,本机启动的时候先启动后场服务,再单独启动vue工程,然后可以实现全流程贯穿,但是我们要部署到服务器上的时候,一般都是打一个j ...

  5. Linux初步了解

    文件系统类型:swap分区:用于内存扩充,用磁盘兑换,磁盘是内存的两倍,便于替换 / 分区:容纳根文件系统 文件名:由字母,数字,下划线,圆点组成 文件类型:显示在每一行的左边第一个字符 普通文件   ...

  6. EM 算法 Expectation Maximization

  7. 玩命学JVM(二)—类加载机制

    前言 Java程序运行图: 上一篇玩命学JVM(一)-认识JVM和字节码文件我们简单认识了 JVM 和字节码文件.那JVM是如何使用字节码文件的呢?从上图清晰地可以看到,JVM 通过类加载器完成了这一 ...

  8. matplotlib绘图教程,设置标签与图例

    大家好,欢迎大家阅读周四数据处理专题,我们继续介绍matplotlib作图工具. 在上一篇文章当中我们介绍了matplotlib这个包当中颜色.标记和线条这三种画图的设置,今天我们同样也介绍三种新的设 ...

  9. arduino中SCoop库的简单应用案例

    转载:https://www.csdn.net/gather_27/MtTaggzsMDExMS1ibG9n.html arduino中SCoop库的简单应用案例首先这篇文章来在视频https://v ...

  10. matlab中imfinfo 有关图形文件的信息

    来源:https://ww2.mathworks.cn/help/matlab/ref/imfinfo.html?searchHighlight=imfinfo&s_tid=doc_srcht ...