目录

视图层

  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)

最新文章

  1. R语言:常用统计检验
  2. PHP打印测试,PHP调试技巧
  3. php万年历
  4. jQuery mobile 前台设计中的css em的使用。
  5. 算法库:基础线性代数子程序库(Basic Linear Algebra Subprograms,BLAS)介绍
  6. 位图文件格式及linux下C语言来操作位图文件
  7. Django模型修改及数据迁移
  8. 关于自然常数e的理解
  9. iPhone、iPad默认按钮样式问题
  10. mysql 创建临时节点
  11. 依赖注入和IOC
  12. github 自学文档 希望可以给初学的人一些帮助
  13. EasyMvc--让MVC区域开发更Easy(提供源码下载)
  14. O(nlogn)算法,最长上升子序列,,非动规
  15. pip相关工具使用小结
  16. [codeforces 901E] Cyclic Cipher 循环卷积-Bluestein&#39;s Algorithm
  17. STM32L1 串口相应驱动开发
  18. oracle数据库添加新用户
  19. WPF编程,通过Path类型制作沿路径运动的动画一种方法。
  20. mysql集群搭建,主主复制

热门文章

  1. 【JAVA】JAVA相关知识点收集
  2. 使用MATLAB 2019 App Design 工具设计一个 电子日记App
  3. linux_基础调优
  4. OpeMp【schedule】
  5. Django 联合唯一UniqueConstraint
  6. Java学习day03
  7. three.js学习5_渲染器
  8. 总线SPI的Arduino库函数
  9. 【题解】CF375D Tree and Queries
  10. Metasploit简单使用——后渗透阶段